Hallo Forum!
Ich habe mal wieder ein reguläres Ausdrucksproblem. Ich habe folgenden PHPCode:
Mit diesem Code möchte ich allen Text, der in das Schema {red_xyz xyz}xyz{/red_xyz} herausfiltern, also ein klassisches BBCode Beispiel. Funktionieren tut das soweit ganz gut. Ich wollte jetzt den hinteren regulären Ausdruck (\w+) durch eine Rückreferenz auf den ersten Teil ersetzen, da das Script mir sonst ja auch sowas wie {red_text xyz}xyz{/red_link} rausfiltert, was natürlich nicht gewünscht ist. Wenn ich jetzt $1 in meinen Code einfüge, also folgendermaßen, findet er gar nichts mehr.
Ich komme irgendwie nicht drauf, was der Fehler ist, wie ich die Funktion auch umschreibe.
Vielen Dank schonmal,
Gruß Andreas
Ich habe mal wieder ein reguläres Ausdrucksproblem. Ich habe folgenden PHPCode:
PHP-Code:
preg_match_all ( "!\{red_(\w+?) (.*)\}(.*)\{/red_\w+\}!sU" , $inhalt , $treffer , PREG_SET_ORDER );
PHP-Code:
preg_match_all ( "!\{red_(\w+?) (.*)\}(.*)\{/red_$1\}!sU" , $inhalt , $treffer , PREG_SET_ORDER );
Vielen Dank schonmal,
Gruß Andreas


Kommentar