如何确定vimeo URL是否为视频? PHP

时间:2012-05-10 00:03:21

标签: php regex url preg-match vimeo

所以我一直在使用这个简单的方法来确定URL是否来自vimeo

if (preg_match("/vimeo/",$url)) {
$getvim = (parse_url($url));
$vimid = str_replace("/", "", $getvim['path']);
}

正如您所看到的,这只是确定网址是否包含“vimeo”,然后通过抓取斜线后的所有内容来获取视频ID。如果您实际上链接了一个vimeo视频,那么工作正常,但是如果链接只包含“vimeo”而实际上并不是一个vimeo链接,则会彻底搞乱一切。

有没有人有更好的方法呢?有大量的YouTube解决方案可用,但找到一个好的vimeo几乎是不可能的。感谢您的任何帮助,谢谢。

2 个答案:

答案 0 :(得分:3)

试试这段代码:

$urls = parse_url($url);
if ($urls['host'] == 'vimeo.com'){
    $vimid = ltrim($urls['path'], '/');
    if (is_numeric($vimid)) {
        // do something with $vimid
    }
}

我们假设所有视频ID都是数字。

答案 1 :(得分:0)

通过file_get_contents($url)阅读页面来源,然后检查它是否包含字符串<meta property="og:video" content="http://vimeo.com/moogaloop.swf?clip_id=".$vimid." />如果包含该字符串,那么您就知道它是一个有效的视频。