2012-04-27 3 views
0

Я использую следующий код, чтобы заменить URL-адреса 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

Что делать, если нет «&» в URL-адресе? meining just/watch? v = abcd – fxuser

+0

Я обновил свой ответ (добавив '?' в конец) – j0k

+0

с вашим новым шаблоном, если я использую http://www.youtube.com/watch?v=1Vo_F_2eWMw&feature=g -all-u он не будет работать, возвращаясь «Произошла ошибка. bla bla bla», но если я использую http://www.youtube.com/watch?v=1Vo_F_2eWMw, он будет работать нормально ... – fxuser

Смежные вопросы