我有一个用户可以写任何东西的文本域.
例如:
Lorem Ipsum只是虚拟文本. http://www.youtube.com/watch?v=DUQi_R4SgWo 印刷和排版行业.自16世纪以来,Lorem Ipsum一直是业界标准的虚拟文本,当时一台未知的打印机采用了类型的厨房,并将其拼凑成一本类型的样本.它不仅存在了五个世纪,而且还延续了电子排版,基本保持不变. http://www.youtube.com/watch?v=A_6gNZCkajU&feature=relmfu 它在20世纪60年代推出了包含Lorem Ipsum段落的Letraset表格,最近还发布了包括Lorem Ipsum版本在内的Aldus PageMaker等桌面出版软件.
现在我想解析它并查找所有YouTube视频网址及其ID.
知道它是如何工作的吗?
我正在尝试使用preg_match解析youtube网址的视频ID.我在这个网站上找到了一个似乎有效的正则表达式;
(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+
Run Code Online (Sandbox Code Playgroud)
如图所示:

我的PHP如下,但它不起作用(给出未知修饰符'['错误)...
<?
$subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";
preg_match("(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+", $subject, $matches);
print "<pre>";
print_r($matches);
print "</pre>";
?>
Run Code Online (Sandbox Code Playgroud)
干杯
示例网址
http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel
http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub
http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I
Run Code Online (Sandbox Code Playgroud)
任何将从所有这4个用例中提取正确YID的正则表达式?第一种情况特别奇怪.
谢谢.