ďťż

[PHP] Funkcje string lub wyrażenia regularne kompilator szablonów

       

Podstrony


telcocafe

Zacząłem implementować system szablonów do systemu wortalowego. Dość trudnym zadaniem jest napisanie kompilatora, który zamieni kod HTML z wstawkami do PHP. http://www.unit1.pl/pb-673 (zawiera błędy), przykład szablonu: http://www.unit1.pl/pb-674

Gdy jest więcej niż 1 pętla lub instrukcja IF, zaczynają się problemy, ponieważ po przetworzeniu pierwszego IF zmienia się pozycja początku lub końca drugiego. Podwójnej pętli nie testowałem. Wynik: http://www.unit1.pl/pb-675 (błąd pod koniec pliku). Wprawdzie kłopot można ominąć, kombinując z liczeniem pozycji... Może jednak da się uzyskać oczekiwany efekt łatwiej, a nawet wydajniej?

Można też analizować komentarze <!-- IF ... --> i <!-- ELSE --> osobno oraz bez rekurencji, a potem porównać ilość zamian - ale nie dla pętli, gdyż ingeruję jeszcze w zmienne znajdujące się w niej. Może jednak lepszym wyjściem są wyrażenia regularne? Jeśli tak, jak je poprawnie napisać, aby uzyskać odpowiedni efekt, a skrypt wynikowy nie rozsypał się w wyżej omówionym przypadku lub po dodaniu innych znaczników?
Użytkownik Ferrari edytował ten post 12 luty 2008, 00:22


A jak teraz wygląda kompilator? Masz pewnie literówkę w kodzie, bo w niewłaściwym miejscu umieściło ciąg znaków.
Możesz użyć funkcji preg_replace, mogła by być pewniejsza.

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

  • Sitedesign by AltusUmbrae.