Php 忽略嵌入youtube视频参数

Php 忽略嵌入youtube视频参数,php,regex,preg-replace,pattern-matching,embed,Php,Regex,Preg Replace,Pattern Matching,Embed,我使用以下代码替换youtube URL以嵌入链接,以便将其显示为视频。但是我遇到了一个问题,我无法从除了?v=视频代码之外的参数更多的链接中查看视频 php代码: function embedYoutube($text) { $pattern = '|http://www\.youtube\.com/watch\?.*?\bv=([^ ]+)|'; $replacement = '<div style="width:100%;float:left;margin-top:

我使用以下代码替换youtube URL以嵌入链接,以便将其显示为视频。但是我遇到了一个问题,我无法从除了?v=视频代码之外的参数更多的链接中查看视频

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);

}

更新正则表达式以仅匹配v参数,并在第一个&:


如果url中没有&怎么办?meining just/watch?v=abcd如果我使用你的新模式,它将不起作用,返回一个错误已发生。布拉布拉布拉布拉布拉布拉,但如果我用它会很好。。。
|http://www\.youtube\.com/watch\?.*?\bv=([^ ]+)\&?|