0
我试图扫描链接到某些视频共享网站的文本,因此我可以在视频链接时创建嵌入式播放器。与视频分享网站的链接
这是我到目前为止有:
function extract(&$text) {
// Scans text for links to YouTube, Vimeo, DailyMotion.
// *keep ~discard
// youtube.com/watch?v=[*alphanumeric]&[~whatever]
// youtube-nocookie.com/watch?v=[*alphanumeric]&[~whatever]
// vimeo.com/[*numeric]
// dailymotion.com/video/[*alphanumeric]_[~whatever]
$sites = 'youtube\.com|youtube-nocookie\.com|vimeo\.com|dailymotion\.com';
$regex = '/^(http|https):\/\/(www\.|)(' . $sites . ')\/.*/';
preg_match_all($regex, $text, $videos);
return $videos;
}
这是工作古怪。它发现了下面的文字没有结果:
And what about YouTube videos?
http://www.youtube.com/timminchin#p/a/u/2/zkGEbRrNNtE
http://www.youtube.com/timminchin#p/a/f/1/zU4iyjoVWQ
http://www.youtube.com/watch?v=XzU4iyjoVWQ
http://www.youtube-nocookie.com
它发现这段文字一个结果:
http://youtube.com/watch?v=XzU4iyjoVWQ
https://www.youtube.com/watch?v=XzU4iyjoVWQ
和其上只包含一个链接,并没有其他的文本工作正常。
我不像使用正则表达式那样使用正则表达式,并且使用http://www.strfriend.com来帮助我构建这个模型。我想要的只是一个URL数组。
经过测试。完美的作品。现在,嵌入的视频会附加到论坛中帖子的末尾。可爱。 – TRiG 2011-01-13 14:51:28