Получить id видео vimeo с regexp preg_match

Я пытаюсь получить id-видео с URL-адреса vimeo, но, смотря в исходном коде, иногда он приходит как:

http://vimeo.com/XXXXXXXXX

и другие:

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

Я просто получаю id-видео, но он должен быть с regExp, потому что я должен разбирать контент из блога и формат, подобный странице facebook, когда мы вставляем код html.

Это regExp, который я сделал:

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

Вы можете мне помочь? Я ценю вашу помощь.

PD: Извините за мой английский

Ответ 1

Почему не спросить Vimeo о видео?

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

Вышеприведенный URL-адрес даст вам приятный ответ JSON с большим количеством полезной информации, включая идентификатор видео и соответствующий HTML-код для встраивания видео на страницу. Просто передайте свои URL-адреса конечной точке 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.

Ответ 2

http://(player\.)?vimeo\.com(/video)?/(\d+) охватывает оба ваших примера, хотя я уверен, что он может быть оптимизирован с учетом дальнейших URL-адресов.

Ответ 3

Это должно работать: vimeo\.com/(\w*/)*(\d+). (\ W/) * позволяет вам без каких-либо проблем иметь URL-адрес, например, vimeo.com/video/something/something-more/more-more-more/XXXXXXXXX. Затем вы можете захватить XXXXXXXX, просто получив вторую землю (\ d +). Если вы знаете, сколько цифр идентификатор видео вы можете заменить \d + на \d {n}, где n - количество цифр.