Hallo liebe PHP-Community
Vor längerer Zeit habe ich mit Hilfe von einigen Usern von hier mir eine kleine Templateklasse gebaut.
Diese funktioniert auch 1a.
Doch nun möchte / muss ich einen Schritt weiter gehen.
Aber bevor ich dazu komme hier erstmal kurz das, was meine Klasse schon kann:
Nun stelle ich mir das wie folgt vor:
1. Ich lese die gesamte Template-Datei ein
2. Ich ersetze alle {VARS} komplett
3. Ich überprüfe wo eben diese Ausdrücke stimmen oder nicht
4. Ich parse die Bereiche, die angezeigt werden, wo also quasi diese if-Anweisungen wahr sind
Was mir fehlt ist nun quasi der Ansatz, wie man ein regex oder eine Funktion schreibt,
die quasi die Template-Datei nach den eckigen Klammern durchsucht
[] und den Teil der dazwischen steht, wie zum Beispiel:
1==1
zerlegt.
Nach der Zerlegung müsste quasi syntaktisch folgendes Ergebnis vorliegen:
ausdruck1 operator ausdruck2
Das Problem wäre aber dann wieder, dass es ja auch solche Konstruktionen geben soll:
Nun müsste die Funktion überprüfen, ob die if-Anweisung wahr ist
oder nicht und je nachdem entweder das was zwischen den if-Tags
steht parsen und die Tags löschen, da sie sonst angezeigt werden,
oder alles löschen was mit dem if-Tag zusammenhängt.
Hat jemand von euch eine Idee, wie ich eine solche Funktion realisieren kann?
Leider komm ich mit der ganzen regex und preg_* Sache nicht so zurecht und versuche nun schon lange soetwas zu realisieren.
Ich habe auch keine verwendbaren Tutorials oder andere Threads gefunden
Ich hoffe das ihr meine Ausführungen versteht und mir helfen könnt.
Mit freundlichen Grüßen Sodan
Vor längerer Zeit habe ich mit Hilfe von einigen Usern von hier mir eine kleine Templateklasse gebaut.
Diese funktioniert auch 1a.
Doch nun möchte / muss ich einen Schritt weiter gehen.
Aber bevor ich dazu komme hier erstmal kurz das, was meine Klasse schon kann:
- einfaches ersetzen von {VARIABLEN}
- Blöcke (Bereiche die sich wiederholen)
PHP Code:
[if {VAR} == 1]
....
[/if]
1. Ich lese die gesamte Template-Datei ein
2. Ich ersetze alle {VARS} komplett
3. Ich überprüfe wo eben diese Ausdrücke stimmen oder nicht
4. Ich parse die Bereiche, die angezeigt werden, wo also quasi diese if-Anweisungen wahr sind
Was mir fehlt ist nun quasi der Ansatz, wie man ein regex oder eine Funktion schreibt,
die quasi die Template-Datei nach den eckigen Klammern durchsucht
[] und den Teil der dazwischen steht, wie zum Beispiel:
1==1
zerlegt.
Nach der Zerlegung müsste quasi syntaktisch folgendes Ergebnis vorliegen:
ausdruck1 operator ausdruck2
Das Problem wäre aber dann wieder, dass es ja auch solche Konstruktionen geben soll:
PHP Code:
[if 1==1]
....
[else]
....
[/if]
oder nicht und je nachdem entweder das was zwischen den if-Tags
steht parsen und die Tags löschen, da sie sonst angezeigt werden,
oder alles löschen was mit dem if-Tag zusammenhängt.
Hat jemand von euch eine Idee, wie ich eine solche Funktion realisieren kann?
Leider komm ich mit der ganzen regex und preg_* Sache nicht so zurecht und versuche nun schon lange soetwas zu realisieren.
Ich habe auch keine verwendbaren Tutorials oder andere Threads gefunden
Ich hoffe das ihr meine Ausführungen versteht und mir helfen könnt.
Mit freundlichen Grüßen Sodan
Comment