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]