Hey muenzchen,
Verschachtelte reguläre Ausdrücke gibt es - in Perl! Mit der libpcre,
wie sie in PHP verwendet wird, kannst du sowas nicht machen. Wie du
schon richtig erkannt hast, bleibt dir also nichts anderes übrig, als
die Ersetzungsfunktion mehrmals aufzurufen - oder via /.../e zu
verschachteln.
Wie kann man denn dieses Problem geschickt umgehen ohne [...]
Da bleibt natürlich noch die Frage, was es dir bringt "[B][B]Text[/B][/B]"
ersetzen zu lassen. Letztlich ist das eine ungültige Eingabe, und in dem
Fall macht es sicher Sinn, wenn der User das auch merkt - auf alle Fälle
besser, als wenn du auf Biegen und Brechen versuchst, daraus etwas
Sinnvolles zu machen. Filter doch an der Stelle einfach die überflüssigen
Auszeichnungen raus - <b><b>text</b></b> bringt wenig Freude, wenn du im
Stylesheet nix dafür vorbereitet hast (abgesehen davon, daß ältere Browser
bei zu vielen Auszeichnungen wieder auf normale Anzeige zurückfallen).
MsF,
milky