Creo que la idea es sustituir cosas como
[i ]Hola[/ i]
por
<i>Hola</i>
El error está en usar el patrón con cuantificadores en la cadena de reemplazo.
La forma correcta es:
Código PHP:
function bbcode($mensaje) {
$bbcode[] = "\[i\](.*?)\[\/i\]";
$xhtml[] = "<i>\\1<\/i>";
return eregi_replace($bbcode,$xhtml,$mensaje);
}
Saludos.