Hallo ihr,
ich bin wieder mal knapp davor, PHP fuer heute in die Tonne zu schmeissen. Ich hab mir mein phpBB ein bisschen aufgebohrt, und will eine aus der
DB ausgelesene Template-Variable ins Template reinschreiben. Da die Template-Engine aber mit solchen Faellen nicht umgehn kann, muss ich mir meine Template-Variable selbst raussuchen und den Wert manuell reinschreiben. Dies geht eigentlich so:
Code:
$caption = preg_replace("#\{([a-z0-9\-_]*?)\}#is", $template->_tpldata['.'][0]['\\1'], $caption);
in $caption steht in diesem Fall {L_PORTAL} drin, aber es wird auch nichts ausgegeben. Also habe ich folgendes probiert:
Code:
$caption = preg_replace("#\{([a-z0-9\-_]*?)\}#is", '\\1: '. $template->_tpldata['.'][0]['\\1'] ." : ". $template->_tpldata['.'][0]['L_PORTAL'], $caption);
Ausgegeben wird dann folgendes, und das macht mich stutzig:
Das heisst, wenn ich den String im Array direkt angebe, funktionierts, und auch die RegExp stimmt (erkennbar an der Ausgabe von \\1), aber wenn ich das gefundene Ergebnis der RegExp verwende, erhalte ich einen leeren String.
Also entweder ich sehe den Fehler nicht oder php hat da einen Fehler, schliesslich funktioniert die Zeile in der Template-Engine selbst ja auch
Kann mir jemand weiterhelfen?
Greetz
alcaeus