$text = eregi_replace("[b]", "<b>", $text); $text = eregi_replace("[/b]", "</b>", $text);
Das Problem ist hier nur, dass es dann Fehler geben kann wenn der User vergisst (oder es absichtlich macht) Tags zu schliessen.
Dann ist er selber schuld, und sie sollten nicht ersetzt werden.
$text = preg_replace('|[b](.+)[/b]|U', '<b>$1</b>', $text);
Am einfachsten wär's wenn Du den Usern nur bestimmte HTML-Tags erlaubst, und dich mit strip_tags() um die anderen kümmerst.
Übrigens:
8.2. Soll ich ereg() oder preg() verwenden?
http://www.dclp-faq.de/q/q-regexp-ereg.html
Bei einem Bild soll ja der Code [ img ]url[ /img] (auch hier ohne die Lücken) zu <img src="url" /> werden,
$string = preg_replace('|[img](.+)[/img]|U', '<img src="$1">', $string);