Hallo,
der Betreff ist etwas unglücklich gewählt, aber ich weiß nicht, wie ich die Anforderung besser hätte beschreiben sollen.
Ich habe eine Template-Klasse, bei der vor der Ausgabe eines Templates alle ungenutzten Marker (in der Form {MARKER}) entfernt werden sollen.
Im Template könnte z.B. stehen:
Ich versuche das Ganze folgendermaßen:
In $this->template steht ausschließlich HTML-Code.
Ich dachte bisher, dass das einwandfrei funktioniert. Aber wenn eben dieser Fall eintritt, dass zwei Marker in einer Zeile stehen, dann wird daraus folgendes:
Vom ersten "{" bis zum letzten "}" entfernt. Allerdings nur zeilenweise. Über neue Zeilen erstreckt sich dieses Verhalten nicht.
Stattdessen soll logischerweise nur bis zum ersten Vorkommen von "}" entfernt werden.
Hat jemand eine Idee?
der Betreff ist etwas unglücklich gewählt, aber ich weiß nicht, wie ich die Anforderung besser hätte beschreiben sollen.
Ich habe eine Template-Klasse, bei der vor der Ausgabe eines Templates alle ungenutzten Marker (in der Form {MARKER}) entfernt werden sollen.
Im Template könnte z.B. stehen:
Code:
<li{NAV_CLASS}><a href="{CMS_URL}/impressum/">Test</a></li>
PHP-Code:
$this->template = preg_replace('/\{(.*)\}/', '', $this->template);
Ich dachte bisher, dass das einwandfrei funktioniert. Aber wenn eben dieser Fall eintritt, dass zwei Marker in einer Zeile stehen, dann wird daraus folgendes:
Code:
<li/impressum/">Test</a></li>
Stattdessen soll logischerweise nur bis zum ersten Vorkommen von "}" entfernt werden.
Hat jemand eine Idee?
Kommentar