preg_replace Funktion
Mariana
- php
Hallo,
ich bin seit gestern auf der Suche nach einer Lösung für folgendes Problem: Ich versuche sozusagen BB - Codes zu erzeugen und will dabei eine "Oder" Ausdruck erschaffen. Bedeutet, [b] soll das gleiche wie [fett] tun können, ohne dass ich direkt zwei Arrays erzeugen muss die dann durch eine Schleife müssen.
$text = "=h= Text =he=";
$text = preg_replace("~(=h=|=headline=)(.*)(=he=|=headlinee=)~i","<h1>\\1</h1>",$text);
Mit (x|y) habe ich es in der Weise probiert und auch mit ((x)|(y)), allerdings gibt er mir dann folgendes Muster zurück: <h1>=h=</h1> anstatt <h1> Text </h1>
Für die Lösung wäre ich sehr dankbar :)
ich bin seit gestern auf der Suche nach einer Lösung für folgendes
Problem:
Ich versuche sozusagen BB - Codes zu erzeugen
Warum nimmst du nicht "echte" BB-Codes anstatt "sozusagen BB-Codes" - eine Best Practice oder einen Standard zu verwenden ist immer schlauer, als etwas selbst zu stricken.
Fertige BB-Code-Parser gibt es auch genug.
$text = preg_replace("~(=h=|=headline=)(.*)(=he=|=headlinee=)~i","<h1>\1</h1>",$text);
gibt er mir dann folgendes Muster zurück: <h1>=h=</h1>
Was auch klar ist da \1 auf die erste Klammer verweist.
Danke,
jetzt weiß ich wies funktioniert. Man findet aber auch ziemlich schwer Tutorials, wo überhaupt mal sowas erklärt wird :(
Nochmals vielen Dank :)
jetzt weiß ich wies funktioniert. Man findet aber auch ziemlich schwer Tutorials, wo überhaupt mal sowas erklärt wird :(
PCRE sind auch kein Thema, das man "einfach mal so im vorbeigehen" aus einem Tutorial lernt - dafür sind sie viel zu umfangreich und (logisch) Komplex.