我建設應解析這樣的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