Hola,
Esto es lo que buscas:
Código PHP:
$mensaje = $_POST['campo'];
$mensaje = str_replace("[b]","<b>",$mensaje) ; $mensaje = str_replace("[/b]","</b>",$mensaje) ;
$mensaje = str_replace("[img]","<img src=\"",$mensaje) ; $mensaje = str_replace("[/img]","\" border=\"0\">",$mensaje) ;
$mensaje = preg_replace("/\[color=((#)?[0-9a-z]+)\]/i","<font color=\"\\1\">",$mensaje) ; $mensaje = str_replace("[/color]","</font>",$mensaje) ;
$mensaje = preg_replace("/\[color=((#)?[0-9a-z]+)\]/i","<font color=\"\\1\">",$mensaje) ; $mensaje = str_replace("[/color]","</font>",$mensaje) ;
$mensaje = preg_replace("/\[url\](www\..+)\[\/url\]/i","<a href=\"http://\\1\" target=\"_blank\">\\1</a>",$mensaje) ;
$mensaje = preg_replace("/\[url\](.+)\[\/url\]/i","<a href=\"\\1\" target=\"_blank\">\\1</a>",$mensaje) ;
$mensaje = preg_replace("/\[url=(www\..+)\](.+)\[\/url\]/i","<a href=\"http://\\1\" target=\"_blank\">\\2</a>",$mensaje) ;
$mensaje = preg_replace("/\[url=(.+)\](.+)\[\/url\]/i","<a href=\"\\1\" target=\"_blank\">\\2</a>",$mensaje) ;
$mensaje = str_replace("[i]","<i>",$mensaje) ; $mensaje = str_replace("[/i]","</i>",$mensaje) ;
$mensaje = str_replace("[u]","<u>",$mensaje) ; $mensaje = str_replace("[/u]","</u>",$mensaje) ;
Esto sirve como:
[ b ] t e x t o [ / b ]
[ i m g ] i m a g e n [ / i m g ]
[ c o l o r = r e d ] t e x t o [ / c o l o r]
[ u r l ] u r l [ / u r l ]
[ u r l = d i r e c i o n] c l i c [ / u r l ]
[ i ] T e x t o [ / i ]
[ u ] T e x t o [ / u ]
(todo eso, pero sin los espacios)
Suerte
Salu2