Cách lấy Youtube video ID từ URL

Cập nhật lần cuối 16/08/2023 by trong PHP vào 27/04/2015 có 6212 Views

Dưới đây là function giúp chúng ta lấy được youtube video id từ URL cho trước.

getyoutubevideoID

Demo online

Function lấy Youtube Video ID

function getYouTubeVideoId($url)
{
    $video_id = false;
    $url = parse_url($url);
    if (strcasecmp($url['host'], 'youtu.be') === 0)
    {
        #### (dontcare)://youtu.be/<video id>
        $video_id = substr($url['path'], 1);
    }
    elseif (strcasecmp($url['host'], 'youtube.com') === 0 || strcasecmp($url['host'], 'www.youtube.com') === 0)
    {
        if (isset($url['query']))
        {
            parse_str($url['query'], $url['query']);
            if (isset($url['query']['v']))
            {
                #### (dontcare)://www.youtube.com/(dontcare)?v=<video id>
                $video_id = $url['query']['v'];
            }
        }
        if ($video_id == false)
        {
            $url['path'] = explode('/', substr($url['path'], 1));
            if (in_array($url['path'][0], array('e', 'embed', 'v', 'shorts')))
            {
                #### (dontcare)://www.youtube.com/(whitelist)/<video id>
                $video_id = $url['path'][1];
            }
        }
    }else{
        return false;
    }
    return $video_id;
}

Chạy thử

Code sau để test hàm lấy ID của video youtube phía trên.

Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.

Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều

$urls = array(
    'http://youtu.be/dQw4w9WgXcQ',
    'http://www.youtube.com/?v=dQw4w9WgXcQ',
    'http://www.youtube.com/?v=dQw4w9WgXcQ&feature=player_embedded',
    'http://www.youtube.com/watch?v=dQw4w9WgXcQ',
    'http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=player_embedded',
    'http://www.youtube.com/v/dQw4w9WgXcQ',
    'http://www.youtube.com/e/dQw4w9WgXcQ',
    'http://www.youtube.com/embed/dQw4w9WgXcQ',
    'http://www.youtube.com/watch?t=40s&v=dQw4w9WgXcQ',
    'https://levantoan.com',
    'https://www.youtube.com/watch?v=u8nQa1cJyX8&list=RDu8nQa1cJyX8#t=45'
);
foreach ($urls as $url)
{
    echo sprintf('%s -> %s <br>' . PHP_EOL, $url, getYouTubeVideoId($url));
}

Kết quả

Sau khi có hàm get youtube video id và code để test chúng ta sẽ có kết quả như bên dưới.

http://youtu.be/dQw4w9WgXcQ -> dQw4w9WgXcQ
http://www.youtube.com/?v=dQw4w9WgXcQ -> dQw4w9WgXcQ
http://www.youtube.com/?v=dQw4w9WgXcQ&feature=player_embedded -> dQw4w9WgXcQ
http://www.youtube.com/watch?v=dQw4w9WgXcQ -> dQw4w9WgXcQ
http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=player_embedded -> dQw4w9WgXcQ
http://www.youtube.com/v/dQw4w9WgXcQ -> dQw4w9WgXcQ
http://www.youtube.com/e/dQw4w9WgXcQ -> dQw4w9WgXcQ
http://www.youtube.com/embed/dQw4w9WgXcQ -> dQw4w9WgXcQ
http://www.youtube.com/watch?t=40s&v=dQw4w9WgXcQ -> dQw4w9WgXcQ
https://levantoan.com ->
https://www.youtube.com/watch?v=u8nQa1cJyX8&list=RDu8nQa1cJyX8#t=45 -> u8nQa1cJyX8

Chúc các bạn thành công!

5/5 - (5 votes)
  • Bình luận
Sản phẩm nổi bật của Toản
x