вызывающая функция внутри preg_replace, которая внутри функции

У меня есть код с структурой, похожей на эту

           function bbcode($Text)
           { //$Text = preg_replace("/\[video\](.+?)\[\/video\]/",embed_video($1), $Text);
    return $Text;}

    function embed_video($url){
if (preg_match("/http:\/\/www.youtube.com\/watch\?v=([0-9a-zA-Z-_]*)(.*)/i", $url, $matches)) {
    return '<object width="425" height="350">'.
           '<param name="movie" value="http://www.youtube.com/v/'.$matches[1].'" />'.
           '<param name="wmode" value="transparent" />'.
           '<embed src="http://www.youtube.com/v/'.$matches[1].'&autoplay="0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" />'.
           '</object>';
}
    return $url;
    }

$lolcakes = "[video]http://youtube.com/id/xxxxxxpron[/video]";
$lolcakesconverted = bbcode($lolcakes);

Проблема в том, что он выкладывает ошибку обратно на меня.

Ошибка разбора: синтаксическая ошибка, неожиданный T_LNUMBER, ожидаемый T_VARIABLE или '$2$#39;

Есть какие-нибудь идеи о том, как я могу вызвать embed_video внутри preg_replace функции bbcode?

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос