[PHP] Regulärer Ausdruck mit Zeilenumbruch

glowhand

Programmierer
21 April 2006
273
16
Hallo!
Problem ist folgendes: Ich programmiere derzeit ein nachrichtensystem, in dem sich Mitglieder gegenseitig Nachrichten zuschicken können.
Vor der Ausgabe einer Nachricht wird BB-Code in HTML-Code umgewandelt. Das funktioniert bisher zum Beispiel so:
PHP:
// fett
$text = preg_replace('/(\[B\])(.+)(\[\/B\])/U','<span class="bold">\2</span>',$text);

Um nun zu vermeiden, dass nun ein Mitglied eine überlange Zeile sendet, die das Design der Seite zerschießen würde, trenne ich bei einer Zeilenlänge von über 50 die Zeile mit einem \n durch wordwrap (noch vor der bb2html-Prozedur):
PHP:
// Zu lange Zeilen vermeiden
$message['message'] = wordwrap($message['message'],50,"\n",true);

Problem ist nun, dass damit BB-Code zerschossen werden könnte.
Ich muss also im regulären Ausdrück einfügen können, dass bei der Suche nach zB "" auch zwischen jedem Zeichen ein Zeilen-Wechsel extieren könnte.

Meine Kenntnisse bezüglich regulären Ausdrücken sind noch zaghaft, deswegen hoffe ich, hier Hilfe finden zu können.
 
"Argh": Der Modifikator /s erlaubt nur Zeilenumbrüche bei einem Punkt, nicht bei sonstigen Zeichenketten.
Problem besteht also weiterhin.8O