javascript - 如何从 vimeo url/embed 获取视频 ID?

标签 javascript php regex video vimeo

所以我正在尝试使用正则表达式从 vimeo url 获取视频 ID。

基于此:Get video id from Vimeo url

下面的正则表达式应该可以解决问题:

if (preg_match("/https?:\/\/(?:www\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?)/", $videoLink, $id)) {
        $videoId = $id[3];
    }

但它不起作用,我终究无法弄清楚原因。

Javascript 和 PHP 中的正则表达式有区别吗/我是否滥用了 preg_match?我在 Stack Overflow 上查看了一段时间,只是找不到用于从 vimeo url/embed 获取视频 ID 的工作正则表达式。

那里有很多正则表达式,但没有显示它们的实现。

最佳答案

唯一永远正确的答案就是问 Vimeo。 Vimeo 的 oEmbed端点支持每个 Vimeo URL,并返回视频 ID。

oEmbed 端点会随着网站的发展和添加更多内容而保持最新,但这些正则表达式会过时。

此外,他们不可能收集所有的网址。例如 Vimeo 允许自定义视频 url,其中不包含 id。模式(当前)如下:

https://vimeo.com/{user_url}/{video_url}

关于javascript - 如何从 vimeo url/embed 获取视频 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27761690/

相关文章:

php - 如何在 Zend Framework 查询中放置

regex - 继续在 perl 中换行

javascript - 如何正确进行比较

javascript - setTimeout() 似乎在 Firefox 中不起作用?

php - setlocale 是否仅限于其脚本实例?

php - 尝试在 php MYSQL 中将数据从一个表插入到另一个表

java - 检查一个字符串是否为特定形式的JAVA

regex - 使用 golangs 正则表达式解析体育比分

javascript - 如何指定 WebSocket 连接的主机?

javascript - 如何防止 JavaScript 在 location.replace() 中对查询字符串进行编码?