Estoy usando esto actualmente para mi BBCode
function BBcode($str) {
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[s\](.*?)\[\/s\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[align\=(left|center|right|justify)\](.*?)\[\/align\=(left|center|right|justify)\]/is',
'/\[img\](.*?)\[\/img\]/is',
'/\[font\=(.*?)\](.*?)\[\/font\]/is',
'/\[size\=(.*?)\](.*?)\[\/size\]/is',
'/\[color\=(.*?)\](.*?)\[\/color\]/is',
'/\[code\](.*?)\[\/code\]/is',
'/\[quote\](.*?)\[\/quote\]/is',
'/\[youtube](.*?)\[\/youtube\]/is',
);
'<strong>$1</strong>',
'<em>$1</em>',
'<u>$1</u>',
'<strike>$1</strike>',
'<a href="$1">$2</a>',
'<a href="$1">$1</a>',
'<div style="text-align:$1;">$2</div>',
'<img src="$1" />',
'<span style="font-family:$1;">$2</span>',
'<span style="font-size:$1;">$2</span>',
'<span style="color: $1;">$2</span>',
'<span id="code">$1</div>',
'<span id="quote">$1</div>',
'<span style="display:block;"><object width="350" height="275"><param name="movie" value="http://www.youtube.com/v/$1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$1" type="application/x-shockwave-flash" wmode="transparent" width="350" height="275"></embed></object></span>',
);
$str = preg_replace ($simple_search, $simple_replace, $str); return $str;
}
Y me funciona sin problemas
Aca te hago uno para tu youtube
A mi tambien me hace falta asi que no tengo perdida
//Esto lo agregas en el primer arrray:
'/\[youtube](.*?)\[\/youtube\]/is',
//Esto en el segundo array:
'<span style="display:block;"><object width="350" height="275"><param name="movie" value="http://www.youtube.com/v/$1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$1" type="application/x-shockwave-flash" wmode="transparent" width="350" height="275"></embed></object></span>',
Me avisas si te funciona
Se usa como [youtube]Id-del-video[/youtube]
Tambien debes agregar esto:
$str = str_replace("<br />","",$str);
Antes del:
return $str;