我建设应解析这样的UBB标签一个博客:PHP爆炸()没有找到分隔符
输入:<youtube=http://www.youtube.com/watch?v=VIDEO_ID&feature=channel>
输出:
<object width="400" height="245">
<param name="movie" value="http://www.youtube- nocookie.com/v/VIDEO_ID&hl=en&fs=1&rel=0&showinfo=0"></param>
<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube-nocookie.com/v/VIDEO_ID&hl=en&fs=1&rel=0&showinfo=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="245"></embed>
</object>
我的功能是非常简单的,到目前为止,因为我已经陷入了最简单的部分!现在,我有一个调用差异过程函数的主过程函数。在这种情况下,其中之一是processYouTubeVideos()。所以,我把它称为像这样:
$str = eregi_replace('\<youtube=([^>]*)\>', processYouTubeVideos("\\1"), $str);
processYouTubeVideos()从YouTube的标签完全内收到的网址,但由于某些原因,使用爆炸时,()(或拆分)的分隔符没有找到。即使使用像“U”或“管”的测试值...
function processYouTubeVideos ($str) {
$params = explode("?", $str);
$params = explode("&", $params[1]);
return $params[0];
}
与问题无关,但您可能需要查看parse_str()而不是自己分割字符串 – 2009-05-25 22:55:34