使用regexp preg_match获取id视频vimeo

时间:2013-06-17 20:30:47

标签: php regex preg-match vimeo vimeo-api

我尝试从vimeo的网址获取id视频,但查看源代码有时它会像:

http://vimeo.com/XXXXXXXXX

和其他人一样:

http://player.vimeo.com/video/XXXXXXXXX

我只是获取了id视频,但必须使用regExp,因为我必须解析来自博客的内容,并且当我们插入代码html时,就像facebook页面一样。

这是我做的regExp:

/vimeo\.com\/(\w+\s*\/?)*([0-9]+)*$/i
你能帮帮我吗?我感谢你的帮助。

PD:抱歉我的英文

3 个答案:

答案 0 :(得分:20)

为什么不询问Vimeo 关于视频?

http://vimeo.com/api/oembed.json?url=http%3A//vimeo.com/17892962

上面的网址会为您提供一个很好的JSON响应,其中包含许多有用的信息,包括视频ID和将视频嵌入页面的相应HTML。只需将您的网址传递给oEmbed端点,如上所示。

示例JSON响应(用于显示目的的截断长行)

{
    "type": "video",
    "version": "1.0",
    "provider_name": "Vimeo",
    "provider_url": "http://vimeo.com/",
    "title": "Danny MacAskill - \"Way Back Home\"",
    "author_name": "Dave Sowerby",
    "author_url": "http://vimeo.com/tdave",
    "is_plus": "1",
    "html": "<iframe src=\"http://player.vimeo.com/video/17892962\" …",
    "width": 1280,
    "height": 720,
    "duration": 462,
    "description": "A journey from Edinburgh to Skye where Danny finds …",
    "thumbnail_url": "http://b.vimeocdn.com/ts/399/121/399121670_1280.jpg",
    "thumbnail_width": 1280,
    "thumbnail_height": 720,
    "video_id": 17892962
}

有关完整信息,请参阅oEmbed documentation

答案 1 :(得分:3)

http://(player\.)?vimeo\.com(/video)?/(\d+)涵盖了您的两个示例,但我确信可以根据更多网址对其进行优化。

答案 2 :(得分:0)

这应该有效:vimeo\.com/(\w*/)*(\d+)。 (\ w /)*可让您拥有像vimeo.com/video/something/something-more/more-more-more/XXXXXXXXX这样的网址,没有任何问题。然后你可以通过获得第二个接地(\ d +)来获取XXXXXXXX。如果您知道视频ID有多少位数,则可以将\ d +替换为\ d {n},其中n是位数。

相关问题