Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定vimeo URL是否为视频?PHP_Php_Regex_Url_Preg Match_Vimeo - Fatal编程技术网

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

如何确定vimeo URL是否为视频?PHP,php,regex,url,preg-match,vimeo,Php,Regex,Url,Preg Match,Vimeo,所以我一直在使用这个简单的方法来确定URL是否来自vimeo if (preg_match("/vimeo/",$url)) { $getvim = (parse_url($url)); $vimid = str_replace("/", "", $getvim['path']); } 如您所见,这只是确定url是否包含“vimeo”,然后通过抓取斜杠后面的所有内容来抓取视频id。如果你真的链接了一个vimeo视频,效果很好,但是如果链接只是包含“vimeo”,而不是真正的vimeo链接,那么

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

if (preg_match("/vimeo/",$url)) {
$getvim = (parse_url($url));
$vimid = str_replace("/", "", $getvim['path']);
}
如您所见,这只是确定url是否包含“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都是数字的。

通过
文件获取内容($url)
读取页面的源代码,然后检查它是否包含字符串
是数字的,谢谢。我正要评论这是如何更好,但我仍然需要验证它是vimeo的一部分还是一个真实的视频,然后我看到你更新了它。完美的解决方案,非常感谢。是的,我最初认为您只需要解析URL,但最后我看到了问题标题:)欢迎您!