Matze: mehrere RegExp oder besser zusammenfügen?

Beitrag lesen

Hallo!

Ich hatte ein einfaches Formular für ein simples Forum ähnlich dem hier.
Zum Anzeigen der Einträge aus der Datenbank reichte mir (bzw. den usern) lange ein 1-Zeiler:

echo '<p class="content" id="content_'.htmlspecialchars($fetch['content_id']).'">'.stripslashes(nl2br(htmlspecialchars($fetch['content']))).'</p>';

Jetzt hätten die Benutzer aber gern ein wenig BB-Code, also habe ich ein paar RegExp geschrieben um den Text bei der Ausgabe zu formatieren:

### Content in HTML-Kontext bringen ####  
$content_formated = stripslashes(nl2br(htmlspecialchars($fetch['content'])));  
  
## Links formatieren  
$content_formated = preg_replace("#\[link=(.*?)\](.*?)\[/link\]#si", '<a href="\1">\2</a>', $content_formated);  
  
## Bilder formatieren  
$content_formated = preg_replace("#\[img=(.*?)\](.*?)\[/img\]#si", '<img src="\1" alt="\2" title="\2"/>', $content_formated);  
  
## Fetten Text formatieren  
$content_formated = preg_replace("#\[f\](.*?)\[/f\]#si", '<b>\1</b>', $content_formated);  
  
## Kursiven Text formatieren  
$content_formated = preg_replace("#\[k\](.*?)\[/k\]#si", '<i>\1</i>', $content_formated);  
  
## Unterstrichenen Text machen  
$content_formated = preg_replace("#\[u\](.*?)\[/u\]#si", '<u>\1</u>', $content_formated);  
  
### Content einfügen ###  
echo '<p class="content" id="content_'.htmlspecialchars($fetch['content_id']).'">'.$content_formated.'</p>';

Jetzt meine Fragen dazu.
Wie performant ist das eigentlich? Ich denke ich werde noch andere Elemente hinzufügen, z.B. Listen. Die Liste wird also noch länger.

Liesse sich das performanter Gestalten indem man die RegExp zusammenfasst?
Wird es dann nicht reichlich unübersichtlich?
Achja und ich hatte schon Mühe bei der ersten RegExp für die Links, die anderen hab ich nur noch davon abgeleitet.
Könntet ihr mir auch ein Beispiel für die Zusammengefassten RegExp geben, für den Fall, dass es sinnvoller ist als meine Lösung?

Vielen Dank!

Grüße, Matze