0
我正在使用我在下面找到的代碼從提交的網址獲取YouTube視頻的縮略圖網址。唯一的問題是,如果有人使用像http://youtube.be/HMYMSvlow_k
這樣的縮短版本的視頻網址,它就不起作用。如何修改此代碼以便處理youtube.be版本以及其他更長的鏈接?如何從YouTube上縮短鏈接獲得縮略圖
function get_youtube_screen_link($url = '', $type = 'default', $echo = true) {
if(empty($url))
return false;
if(!isset($type))
$type = '';
$url = esc_url($url);
preg_match("|[\\?&]v=([^&#]*)|",$url,$vid_id);
if(!isset($vid_id[1]))
return false;
$img_server_num = 'i'. rand(1,4);
switch($type) {
case 'large':
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/0.jpg";
break;
case 'first':
// Thumbnail of the first frame
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/1.jpg";
break;
case 'small':
// Thumbnail of a later frame(i'm not sure how they determine this)
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/2.jpg";
break;
case 'default':
case '':
default:
$img_link = "http://{$img_server_num}.ytimg.com/vi/{$vid_id[1]}/default.jpg";
break;
}
if($echo)
echo $img_link;
else
return $img_link;
}