youtube縮圖
有時候在網頁排版上不會直接嵌入影片而需要使用圖片排版的情況,直接利用網址取得youtube縮圖,比起在網站建立資料時自己額外上傳圖片方便,也不用擔心調整後網站忘記更換圖片的問題。
下列網址圖片由大至小排列,將xxxx用網址中的v=XXXX值代替,如果是短網址(youtu.be/XXXX)的話則用/後面的XXXX代替,影片持有者未設定的話有可能會出現youtube沒圖片的預設圖
https://img.youtube.com/vi/xxxx/maxresdefault.jpg
https://img.youtube.com/vi/xxxx/sddefault.jpg
https://img.youtube.com/vi/xxxx/hqdefault.jpg
https://img.youtube.com/vi/xxxx/0.jpg
https://img.youtube.com/vi/xxxx/1.jpg
https://img.youtube.com/vi/xxxx/2.jpg
https://img.youtube.com/vi/xxxx/3.jpg
使用php取出參數的值
$url = "https://youtu.be/";
$parsed = parse_url($url);
if($parsed['host']=='youtu.be'){//短網址 抓path
echo str_replace("/", "", $parsed['path']);
}else if($parsed['host']=='www.youtube.com'){//一般 抓v
$query = parse_url($url);
parse_str($query['query'], $params);
echo $params['v'];
}
使用javascript確認網址,如果貼的是短網址轉回一般網址
function youtube_parser(url){
var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
var match = url.match(regExp);
return (match&&match[7].length==11)? match[7] : false;
}
function youtube_stol(obj){
$('#showerror').html('')
if(obj.value!=''){
tempv = youtube_parser(obj.value);
if(tempv!=false){
obj.value = 'https://www.youtube.com/watch?v=' + tempv;
}else{
$('#showerror').html('<br>無法取得YOUTUBE請確認網址是否正確')
}
}
}