我一直在考虑下面的正则表达式:preg_match_all - 正则表达式的帮助
if (preg_match_all("'(http://)?(www[.])?(youtube|vimeo)[^\s]+'is",$prova,$n))
{
foreach ($n[3] as $key => $site)
{
$video_links[$site][] = $n[0][$key];
}
但是,如果我有这样的字符串:
“你好,看我的VIMEO视频这里: http://www.vimeo.com..../非常好的HM?“
除了只接收url,我还得到了vimeo这个词。
我相信正则表达式正在回顾它应该更多,我只想回顾它发现的网址,而不是每个“vimeo”或“youtube”的引用。
我可以请求您的帮助,以缩小此表达式的范围,以便只检索网址吗?
尝试将`[S \ S] +`改为`\ S +`(大写`S`,这意味着除白色空间之外的所有东西... – ircmaxell 2011-02-11 17:54:21
我不想试图回答这个问题(因为几个人已经),但我想提供一个伟大的网站来测试RegEx:http://gskinner.com/RegExr/ - 它帮了我很多次! – 2011-02-11 18:40:32
@ s992 - 它直接到我的最爱,感谢分享。 – MEM 2011-02-12 11:17:42