Moin
Da ich gerade mal wieder an meinem tollen Forum arbeitete, stoße ich mal wieder auf das Problem der BB-Codes. Gäbe ja verschiedene Möglichkeiten der Ersetzung.

1)
PHP-Code:
$text str_replace ('\[b\]''<strong>'$_POST['text']);
$text str_replace ('\[/b\]''</strong>'$text); // und so weiter mit den anderen Codes 
Problem dabei dann: Niemand zwingt den User, den Tag auch wieder zuzumachen, womit sich das auf nachfolgende Schrift auswirken kann. Mögliche Notlösung:
PHP-Code:
$text .= '</b></i></u>'
Wobei man allerdings je nach Umfang der BB-Codes einiges zumachen müsste. Gefällt mir nicht.

2)
PHP-Code:
$text eregi_replace ('\[b\](.*)\[/b\]''<strong>//1</strong>'$_POST['text']); 
Problem: Kommt nur klar, wenn in den Posts jeder Tag nur einmal verwendet wird. Sonst kommt was à la
HTML-Code:
<strong>Hallo![/b] Wie geht's? [b]Mir geht's gut!</strong>
Was dann auch nicht ganz das Wahre ist.

3) So hatte ich es mal notdürftig gelöst ...
PHP-Code:
$text eregi_replace('\[b\](.*)\[b\]''[b]\\1[b2]'$_POST['text']);
$text eregi_replace('\[/b\](.*)\[/b\]''[/b]\\1[/b2]'$text);
$text eregi_replace ('\[b\](.*)\[/b\]''<strong>//1</strong>'$_POST['text']);
$text eregi_replace ('\[b2\](.*)\[/b2\]''<strong>//1</strong>'$_POST['text']); 
Lässt sich zwar auf beliebig viele erweitern, produziert aber einmal sehr viel Code, und ist außerdem eben auch nicht perfekt. Ich kann mir also die Arbeit machen, und das auf 50 erweitern - wenn wer 51 verwendet, funktioniert's wieder nicht.

Daher hätte ich nun eben die Frage, wie man das am geschicktesten macht ... ob es eine kleine Erweiterung zu einem der oberen braucht, ob es eine hierfür günstige Alternative zu eregi_replace oder str_replace gibt, ob man um die Notlösung von 1) nicht herum kommt ... ich denke, ihr wisst Bescheid