phpbar.de logo

Mailinglisten-Archive

[php] eigenes kleines template

[php] eigenes kleines template

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mit Okt 5 14:12:07 CEST 2005


Hallo Ringo,

Ringo Großer schrieb:
> Lutz Zetzsche wrote:
>> 3. mit str_replace() die Ersetzung vornehmen und das Ergebnis
>> ausgeben:
>>
>>      $ausgabe = str_replace($namen, $werte, $datei);
>>      echo $ausgabe;
>
>
> Ich meine aber, dass hierbei ungefüllte Platzhaltervariablen im Template
> erhalten bleiben und dann ungewollt im Browser erscheinen.

das ist in zweierlei Hinsicht richtig... ;-)

Zuerst zur ersten Variante, an die Du dachtest:

> Michael wird also vielleicht von Templateseite und mit einem
> preg_match_all
> herangehen müssen, um alle enthaltenen Platzhaltervariablen zu finden.
> Voerfügbare Werte werden dann eingefüllt, alle übrigen durch einen leeren
> String ersetzt.

Das wäre eine Möglichkeit. Ich löse das bei mir aber immer so, daß ich
immer für alle Variablen, die im Template vorkommen, Werte setze. Dieser
Wert kann natürlich leer sein. Damit spare ich mir den regulären Ausdruck.

Ich denke mal, es kann Fälle geben, wo ein solches Maß der Dynamik in der
Template Engine gewünscht ist, daß mein Ansatz nicht reicht. In dem Fall
kann man dann z.B. Deine Lösung nehmen.

Nun aber zu einem zweiten Punkt, auf den ich aufgrund Deines Hinweise
gekommen bin... ;-)

Im Array steht bei Michael vermutlich als Schlüssel 'SCHLUESSEL', während
im Template '{SCHLUESSEL}' steht. D.h. mein Vorschlag mit den array_keys()
funktioniert nur, wenn der Array-Schlüssel dann entsprechend
'{SCHLUESSEL}' wäre! Diese Harmonisierung ist aber sicherlich auch kein
großer Akt, außer man ist Dogmatiker. :-)


Viele Grüße

Lutz


php::bar PHP Wiki   -   Listenarchive