PHP preg_replace_callback mehrzeilig

Webmaster Pazi

Cadet 3rd Year
Registriert
Dez. 2009
Beiträge
46
Hallo!

Mal eine kleine Frage an euch ;)

Habe mir eine Template-Klasse gebaut und brauchte nun eine IF für das Template so nun habe ich folgende pattern in meinem preg_replace_callback:

Code:
#<\%IF_KEY\%>(.*)<\%OR\%>(.*)<\%IF_END\%>#

da ich aber jetzt schon mehr als nur 1 Zeile für eine IF-anweisung in meinem Template brauche, sollte php nun mehrere zeilen für mich "auswerten und ersetzen".
Also wenn das jetzt so im template aussieht:

Code:
<%IF_KEY%>Text 1<%OR%>Text 2 text...
text <%IF_END%>

findet es preg_replace_callback nicht mehr.

Was muss ich jetzt machen, damit preg_replace_callback auf mehrere zeilen wirkt?

Vielen dank schon mal :)
 
Du brauchst die Regexp-Option "PCRE_DOTALL" (siehe Doku), damit der Punkt auch Zeilenumbrüche matcht. Um die Option zu aktivieren, häng ein "s" an deinen Ausdruck an (nach dem abschließenden "#").
 
Zurück
Oben