Ich bin grad irgendwie am verzweifeln mit den guten alten Reg. Exp.
Ich versuche aus einem String immer den nächsten BBCode rauszusuchen.

Code:
preg_match('#\[([/]{0,1})(b|code|color|direction|font|i|img|indent|noparse|php|quote|size|u|ul|url)\]#', $this->codePreParse, $bbTag, PREG_OFFSET_CAPTURE, $this->pointer);
Das funktioniert bei einfachen Tags wie [ b] oder [ /i] wunderbar.
Nun will ich aber auch, dass z.B. [ quote="DarkSyranus"] aus dem Text gefilter wird.
Dabei scheitert es dann leider auch.

Gehen wir mal davon aus, dass man nur die Zeichen a-z A-Z 0-9 # dort benutzen dürfte, dann würde man ja folgendes machen können.
([a-zA-Z0-9\#="])

Allerdings wäre es ganz schön, wenn es gleich nach Regel geht, sprich ...|url)(="[a-zA-Z0-9\#]*")\]#.
Das funktioniert auch, zumindest werden dann alle Tags der Art nach [ quote="DarkSyranus"] rausgesucht.

Aus verschiedenen Gründen brauche ich jedoch beides in einem, also ein Pattern, dass sowohl die Einfachen als auch die Erweiterten BBCodes raussucht.
Hat jemand eine Idee, wie man sich das irgendwie zurechtbasteln kann?

Bitte kommt jetzt nicht mit dem Vorschlag eine BBCode-Klasse zu nehmen, Danke !!
Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!