Servus,
Mein funktionierender Code sieht nun so aus:
$filecontent=preg_replace("/{file:([[:alnum:]]+.tpl)}/e",
"parse_file('\1')", $filecontent);
besser wäre es wohl, gleich preg_replace_callback() zu benutzen; mich
erstaunt aber eher, dass der POSIX Ausdruck [[:alnum:]] tatsächlich mit
preg_replace funktionieren soll.
Was mir immer noch ein Rätsel bleibt ist, warum es mit der Funktion
test() ohne Probleme geklappt hat, die hätte eigentlich auch /e
benötigt, zumindest nach meinem Verständnis. Weiß jmd. warum es in
diesem Fall ohne funktionierte?
Kann ich mir eigentlich nicht vorstellen - ohne den Eval-Paramater,
wird das Ersatzmuster immer als String behandelt.
Grüsse