2012-04-27 65 views
0

我使用下面的代碼來替換youtube網址來嵌入鏈接,以便將它們顯示爲視頻。但我是來一個問題,我不能比V的其它多個參數的鏈接觀看視頻= video_code嵌入YouTube視頻參數忽略

PHP代碼:

function embedYoutube($text) 
{ 

    $pattern = '|http://www\.youtube\.com/watch\?.*?\bv=([^ ]+)|'; 
    $replacement = '<div style="width:100%;float:left;margin-top:15px;margin-bottom:15px;"><iframe width="570" height="315" src=http://www.youtube.com/embed/$1 frameborder="0" allowfullscreen></iframe></div>'; 
    return preg_replace($pattern, $replacement, $text, 1); 

} 

回答

0

更新你的正則表達式只匹配v參數,前第一&

|http://www\.youtube\.com/watch\?.*?\bv=([^ ]+)\&?| 
+0

什麼,如果沒有「&」的網址是什麼? meining just/watch?v = abcd – fxuser 2012-04-27 16:33:18

+0

如果我使用http://www.youtube.com/watch?v=1Vo_F_2eWMw&feature=g我已更新我的答案(在末尾添加'?') – j0k 2012-04-27 16:34:15

+0

- 所有它不會工作返回「發生錯誤。bla bla bla」,但如果我使用http://www.youtube.com/watch?v=1Vo_F_2eWMw它會正常工作... – fxuser 2012-04-27 16:37:14