luis.. lo ideal es que fueras mas ordenado con el codigo(usa tabulaciones), y evitar las cosas repetidas Ejemplo:
Código PHP:
$datos[mensaje] = str_replace("[b]","<b>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/b]","</b>",$datos[mensaje]);
$datos[mensaje] = str_replace("[hr]","<hr>",$datos[mensaje]);
$datos[mensaje] = str_replace("[i]","<i>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/i]","</i>",$datos[mensaje]);
$datos[mensaje] = str_replace("[sub]","<u>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/sub]","</u>",$datos[mensaje]);
$datos[mensaje] = str_replace("[marquee]","<marquee>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/marquee]","</marquee>",$datos[mensaje]);
$datos[mensaje] = str_replace("[left]","<div align=left>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/left]","</div>",$datos[mensaje]);
$datos[mensaje] = str_replace("[center]","<div align=center>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/center]","</div>",$datos[mensaje]);
$datos[mensaje] = str_replace("[right]","<div align=right>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/right]","</div>",$datos[mensaje]);
$datos[mensaje] = str_replace("[justify]","<div align=justify>",$datos[mensaje]);
$datos[mensaje] = str_replace("[/justify]","</div>",$datos[mensaje]);
$datos[mensaje] = str_replace("[img]","<img src=\"",$datos[mensaje]) ;
//1 esta mal, va entre comillas ['mensaje'] para que todas esas repeticiones???
//si puedes hacer esto..
$busca = array('[b]','[/b]','[hr]','[i]','[/i]'); //etc
$remplaza = array('<b>','</b>','<hr>','<hr>','<i>','</i>'); //etc
$datos['mensaje'] = str_replace($busca , $remplaza , $datos[mensaje]);
un texto como key en un array recuerda siempre que utiliza comillas, debes tratarlo como texto, no como una constante...
un numero si no necesita comillas.
Código PHP:
$a[1]; //bien
$a[b]; //si b no es una constante previamente definida, esta mal
$a['b']; //si b es una key esta bien, si es una constante, esta mal
otra recomendación.. para evitarte tanto if else solo para imprimir algo, aprende a usar expresiones ternarias
http://php.net/manual/es/language.op...hp#example-120
ten cuidado si las usas, aplica bien (), ejemplo en un echo
Código PHP:
echo ($bar === true)? 'bar es true!' : (($bar2 === true)? 'bar2 es true!' : 'ambas son falsas..');
//esto equivale a
if($bar === true) echo 'bar es true!';
else if ($bar2 === true) echo 'bar2 es true!';
else echo 'ambas son falsas..';
a medida que cambias tu código, ve actualizándolo para poder ver el "editado nuevo" y no el viejo, sino es imposible ayudarte en base a el mismo código.