如何确定 vimeo 网址是否为视频?.PHP


How can I determine if a vimeo URL is a video? PHP

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

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

如您所见,这只是确定网址是否包含"vimeo",然后通过抓取斜杠后的所有内容来获取视频ID。如果您实际上正在链接vimeo视频,则可以正常工作,但是,如果链接仅包含" vimeo"而实际上不是vimeo链接,则会完全搞砸所有内容。

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

试试这段代码:

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

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

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