Hi Profis.
Stehe hier vor folgendem Problem:
Schreibe mir gerade eine TemplateKlasse und will in meinem String aus dem Template die Variablen durch deren Werte ersetzen lassen.
Mit str_replace() funktioniert das zwar schon ganz gut, aber wenn ich folgenden Fall habe:
Hallo $variable, schön dass $variable_x hier bist.
Angenommen:
$variable = "Martin";
$variable_x = "Du";
Dann ersetzt er mir Variable $variable durch Martin.
Bei der Variable $variable_x passiert dann logischerweise das:
Du_x
Er ersetzt ja wenn er $variable ersetzt alle Vorkommen im String.
Und da $variable auch in $variable_x vorkommt ersetzt er das auch.
Müsste Quasi preg_replace nehmen und das so biegen, dass ich das Ende der Variablen festlege als Suchmuster.
Ende der Variablen im Template wäre Leerzeichen bzw Anführungszeichen.
Habe das jetzt schon probiert, aber ich verzweifle total:
Das deutsche Tutoriel hier hat mir auch noch nicht geholfen.
Stehe hier vor folgendem Problem:
Schreibe mir gerade eine TemplateKlasse und will in meinem String aus dem Template die Variablen durch deren Werte ersetzen lassen.
Mit str_replace() funktioniert das zwar schon ganz gut, aber wenn ich folgenden Fall habe:
Hallo $variable, schön dass $variable_x hier bist.
Angenommen:
$variable = "Martin";
$variable_x = "Du";
Dann ersetzt er mir Variable $variable durch Martin.
Bei der Variable $variable_x passiert dann logischerweise das:
Du_x
Er ersetzt ja wenn er $variable ersetzt alle Vorkommen im String.
Und da $variable auch in $variable_x vorkommt ersetzt er das auch.
Müsste Quasi preg_replace nehmen und das so biegen, dass ich das Ende der Variablen festlege als Suchmuster.
Ende der Variablen im Template wäre Leerzeichen bzw Anführungszeichen.
Habe das jetzt schon probiert, aber ich verzweifle total:
PHP-Code:
preg_replace([/$suchmuster]+([\'"'|''$])/,$ersetzung,$template);
Kommentar