Hi,
Ich habe hier einen RegExp
Wie man hier sehen kann, hab ich im Pattern ein "(?=" notiert, damit alles, was gefunden wurde an die Funktion übergeben wird. Also von <!-- IF ... bis ... ENDEIF -->. Wenn ich das aber so mache, wird das gefundene nicht mit der Rückgabe der Funktion ersetzt, sondern einfach an die Rückgabe angehängt.
Wie kann/muss ich das ändern, damit nur die Rückgabe da stehen bleibt, ohne das ganze IF Zeugs?
Ich habe hier einen RegExp
PHP:
$this->openedTemplate[$tmpFile] = preg_replace("#(?=(<!-- IF ".$what."=".$array["condition"]." -->(.*)<!-- ENDIF -->))#Ueis","\$this->doIf('$what', '$array1','$1')",$this->openedTemplate[$tmpFile]);
Wie man hier sehen kann, hab ich im Pattern ein "(?=" notiert, damit alles, was gefunden wurde an die Funktion übergeben wird. Also von <!-- IF ... bis ... ENDEIF -->. Wenn ich das aber so mache, wird das gefundene nicht mit der Rückgabe der Funktion ersetzt, sondern einfach an die Rückgabe angehängt.
Wie kann/muss ich das ändern, damit nur die Rückgabe da stehen bleibt, ohne das ganze IF Zeugs?