是否有preg_match来检查url是否是YouTube/Vimeo/DailyMotion视频链接?

2022-03-29 00:00:00 regex php preg-match

检查url是YouTube/Vimeo/或DailyMotion的视频链接的最佳preg_Match语法是什么?

如果很难,那就直接检查域名吧。

谢谢


解决方案

我不会为此使用preg_match()。我认为parse_url()可能是更好的选择。您可以将URL字符串传递给它,它将为您将其分解为所有子组件。

我不知道您提到的那些站点的特定视频URL是什么样子,但我相信您可以为每个站点制定一些识别标准,您可以使用parse_url()的结果来识别。举个例子,YouTube链接的分类如下:

$res = parse_url("http://www.youtube.com/watch?v=Sv5iEK-IEzw");
print_r($res);

/* outputs: 
Array (
    [scheme] => http
    [host] => www.youtube.com
    [path] => /watch
    [query] => v=Sv5iEK-IEzw
)
*/

在本例中,您可能可以根据主机名和路径来标识它。

相关文章