Dưới đây là function giúp chúng ta lấy được youtube video id từ URL cho trước.
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.
$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!
- Bình luận