ďťż

[PHP] XML - wczytywanie i obróbka HTML znaki specjalne, itd.

       

Podstrony


telcocafe

Muszę wprowadzić w systemie szablonów kilka nowych znaczników i atrybutów. Najwygodniej chyba użyć parsera XML. Napotykam jednak trochę problemów:

1. Właściwość obiektu określa się: {obiekt->parametr}. Funkcja DOMDocument::loadHTML() albo save*() zamienia wtedy > na znak specjalny, co uniemożliwia później interpretację wstawki. Da się to ominąć?

2. Funkcja loadHTML() dodaje automatycznie DTD dokumentu wraz z <html>. Można to ominąć, ustawiając flagę LIBXML_NOXMLDECL wraz z funkcją load() - ta zaś wyrzuci wyjątek przy użyciu niezdefiniowanego w kodzie znaku specjalnego.

Może lepiej użyć innego zbioru funkcji niż DOM? W ostateczności pozostają wyrażenia regularne.

Przykład: http://www.unit1.pl/pb-767



może tak po polsku napiszesz co chcesz mieć, a nie wyrywek twojego pomysłu na osiągnięcie tego? Z podanego przykładu widzę jakiś szablon zbliżony do smarty, który zawiera dziwność:
<!-- Tutaj znajduje się znak ">", który DOM pewnie zmienia na &gt; -->
oraz coś czego w tego typu szablonach nie powinno występować:
<?php if($x > 3) echo 'something'; ?>

coś niby robisz z tym swoim CMSem, lecz jakoś nie widzimy postępów ;) ciągle coś kombinujesz z parsowaniem XMLa, czymśtam - a tak naprawdę niczego nie tworzysz - chcesz być programistą to pamiętaj że najprostsze rozwiązania są najlepsze. Chcesz system szablonów - masz np. smarty. Podłączasz i masz system szablonów i możesz zająć się tworzeniem funkcjonalności.


może tak po polsku napiszesz co chcesz mieć Chcę wprowadzić do szablonów kilka dodatkowych znaczników i atrybutów, aby łatwiej tworzyć formularze, np:
    l<f3:checkbox> - zamieniany na pole checkbox z instrukcją warunkową
    l
    lf3:array w <form>, f3:enabled, f3:disabled, f3:selected dla <select> itd...l
Choć sam się zastanawiam, czy za pomocą funkcji XML osiągnę ten efekt. Na przykład:
<f3:checkbox name="nazwa_pola" /> trzeba zamienić na: <input type="checkbox" name="nazwa_pola"<?php if($tablica['klucz']){ echo 'checked="checked"' } ?>$tablica zależy od wartości f3:arrayname w <form>.

sensu to nie bo 1. za dużo roboty i 2. co jak będę chciał dodać id, class i inne atrybuty gdy np. będę chciał użyć bajerów z jQuery? albo generować formularz właśnie poprzez jakiegoś liba JS? ;) 3. i tak praktycznie nikt nie będzie w tym grzebał.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.