我该如何改进这个正则表达式以适应其中包含-
的 youtube id?我测试了我在其他线程中发现的几个正则表达式,但他们没有-
在 id 中考虑。
youtube 链接有时会非常复杂。
$url = 'http://www.youtube.com/watch?v=iol0B-clFFM"; //valid youtube link
$pattern = "/(?<=(?:v|i)=)[a-zA-Z0-9-]+(?=&)|(?<=(?:v|i)\/)[^&\n]+|(?<=embed\/)[^\"&\n]+|(?<=(?:v|i)=)[^&\n]+|(?<=youtu.be\/)[^&\n]+/";
preg_match($pattern,$url,$matches);
echo $matches[0];
上面的结果只返回iol0B
它在-