hehejo
blöder Purist
PHP:
Ich bin gerade dabei für meine Formulare auf meiner Homepage diese Schreibweisen
einzubauen:
[url=link]beschreibung[/url] und [b]fett[/b].
Bei einzelnen Ersetzungen (nur einmal [url] oder nur einmal [b])
im Text funktioniert das wunderbar. Nur wenn ich mehrere [url] bzw. [b] im Text habe,
dann kommt er durcheinander bzw. führt das Suchmuster nur einmal aus.
Das möchte ich mit PHP und RegExp machen. Dazu nutze ich die Funktion
preg_replace($suchmuster, $ersetzung, $zeichenkette).
für [url]
$suchmuster = "#\[url=(http://.+)\](\w+)\[/url\]#";
$ersetzung = "<a href=\"\\1\">\\2</a>";
und für [b]
$suchmuster = "#\[b\](\w+)\[/b\]#";
$ersetzung = "<b>\\1</b>";
Die Suchmuster funktionieren - wie oben erwähnt wunderbar, wenn ich z.B. nur
[url=http://www.hehejo.de]hehejo[/url] als Text habe.
Aber aus aus
[b]fett[/b] [b]auch dick[/b]
wird (nur)
<b>fett</b> [b]auch dick[/b]
oder schlimmer: aus
[url=http://www.hehejo.de]hehejo[/url] [url=http://link]beschreibung[url]
wird das hier:
<a href="http://localhost/hehejo]hehejo[/url] [url=http://link">beschreibung</a>
Was muss ich schreiben, damit die Fehler nicht mehr auftauchen?
Zuletzt bearbeitet: