Snippet: Jak wydobyć ID filmu z linku do Youtube oraz Vimeo

Szybki snippet PHP w oparciu o wyrażenia regularne. Dwie funkcje a tyle radości :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

/* ------------------------------------------------------------------------- */

function parse_youtube_id($url) {
    $matches = array();
    preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+(?=\?)|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#", $url, $matches);

    return isset($matches[0]) ? $matches[0] : null;
}

/* ------------------------------------------------------------------------- */

function parse_vimeo_id($url) {
    $matches = array();
    preg_match("#(https?:\/\/)?(www\.)?(player\.)?vimeo\.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*#", $url, $matches);

    return isset($matches[5]) ? $matches[5] : null;
}

/* ------------------------------------------------------------------------- */