PHP-Code:
$text = preg_replace("#\[b\]([^\[]+)\[/b\]#i","<b>\\1</b>",$text); // neu
$text = preg_replace("#\[i\]([^\[]+)\[/i\]#i","<i>\\1</i>",$text); // neu
$text = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1" target=\"_blank\" >$2</a>', $text);
$text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$text);
$text = preg_replace('/\n/', "<br/>\n", $text);
$text = preg_replace("#\[u\]([^\[]+)\[/u\]#i","<u>\\1</u>",$text); // neu
$text = preg_replace("#\[img\]([^\[]+)\[/img\]#i","<img src=\"\\1\" border=\"0\">",$text); // neu
$text = preg_replace("#\[mail\]([^\[]+)\[/mail\]#i","<a href=\"mailto:\\1\">\\1</a>",$text); // neu
So müsste das funktionieren, am besten einfach mal alle betroffenen BBCodes testen, also [b] [i] [u] [img] [mail]