Muchas gracias, aunque no es como comentan aqui les dejo como quedó al final el script que seguro que a algun otro usuario le sirve:
Código PHP:
Ver original// Para la imagen
$mensaje = preg_replace('/\[img\](.*?)\[\/img\]/sim','<div class="contenidoExterno img"><span class="clip"></span><a href="\\1" target="_blank" rel="nofollow"><img src="\\1"></a></div>', $mensaje); // Para el enlace
$mensaje = preg_replace('/\[url\](.*?)\[\/url\]/sim','<a href="\\1" target="_blank" rel="nofollow">\\1</a> ', $mensaje);
// Para los emails
$mensaje = preg_replace('/([A-Z0-9._%-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})/sim','<img class="email" src="'.$w_dominio.'inc/email2img.php?textval=\\1||jeje||\\2.\\3&size=11&bgcolor=%23cccccc&textcolor=%23000000"> ', $mensaje);
// Youtube
$mensaje = preg_replace("/\[video\](?:http:\/\/)?(www\.)?(youtube\.com\/watch\?v=)([a-zA-Z0-9_-]{0,})\[\/video\]/sim", '<div class="contenidoExterno"><span class="clip"></span><iframe width="560" height="345" src="http://www.youtube.com/embed/\\3?wmode=opaque" frameborder="0" allowfullscreen></iframe></div>', $mensaje);
// Vimeo
$mensaje = preg_replace("/\[video\](http:\/\/)?(www\.)?vimeo\.com\/([a-zA-Z0-9_]{0,})\[\/video\]/sim", '<div class="contenidoExterno"><span class="clip"></span><iframe src="http://player.vimeo.com/video/\\3?title=0&byline=0&portrait=0" width="560" height="345" frameborder="0"></iframe></div>', $mensaje);
// Megavideo
$mensaje = preg_replace("/\[video\](http:\/\/)?(www\.)?megavideo\.com\/\?v=([a-zA-Z0-9_]{0,})\[\/video\]/sim", '<div class="contenidoExterno"><span class="clip"></span><object width="560" height="345"><param name="movie" value="http://www.megavideo.com/v/\\3"></param><param name="wmode" value="opaque"></param><param name="allowFullScreen" value="true"><embed src="http://www.megavideo.com/v/\\3" type="application/x-shockwave-flash" allowfullscreen="true" wmode="opaque" width="560" height="345"></embed></object></div>', $mensaje);
Saludos y gracias!