Question

I try to get the id video from an url of vimeo, but looking in the source code sometimes it comes like:

http://vimeo.com/XXXXXXXXX

and others like:

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

I just get the id video, but it must be with regExp because I must parse a content from a blog and format like a facebook page does when we insert code html.

This is the regExp that I made:

/vimeo\.com\/(\w+\s*\/?)*([0-9]+)*$/i

Can you help me? I appreciate all your help.

PD: Sorry for my english

Was it helpful?

Solution

Why not ask Vimeo about the video?

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

The above URL will give you a nice JSON response with lots of useful information, including the video ID and appropriate HTML to embed the video in a page. Just pass your URLs to the oEmbed endpoint as shown above.

Example JSON response (truncated long lines for display purposes)

{
    "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
}

For full information, see their oEmbed documentation.

OTHER TIPS

http://(player\.)?vimeo\.com(/video)?/(\d+) covers both of your examples, though I'm sure it could be optimised given further URLs.

This should work: vimeo\.com/(\w*/)*(\d+). The (\w/)* lets you have a URL like vimeo.com/video/something/something-more/more-more-more/XXXXXXXXX without any problems. Then you can grab the XXXXXXXX by just getting the second ground (the \d+). If you know how many digits the video id has you can replace \d+ with \d{n} where n is the number of digits.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top