Daniel (nun registriert): \\1 von preg_replace() an eigene Funktion übergeben

Beitrag lesen

Habe das Problem nun gelöst bzw. ne Lösung im Netz gefunden, benötigt wird der sogenannte Modifier e, siehe auch
http://regexp-evaluator.de/tutorial/php-funktionen/preg-replace/ (unter preg_replace() und Modifier e)
http://de.php.net/manual/de/function.preg-replace-callback.php#44863
(funktionierendes Beispiel).

Mein funktionierender Code sieht nun so aus:
$filecontent=preg_replace("/{file:([[:alnum:]]+.tpl)}/e", "parse_file('\1')", $filecontent);

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?