есть вот такой список:
<media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/default.jpg' height='90' width='120' time='00:15:12.500' yt:name='default'/> <media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/mqdefault.jpg' height='180' width='320' yt:name='mqdefault'/> <media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/hqdefault.jpg' height='360' width='480' yt:name='hqdefault'/> <media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/1.jpg' height='90' width='120' time='00:07:36.250' yt:name='start'/> <media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/2.jpg' height='90' width='120' time='00:15:12.500' yt:name='middle'/> <media:thumbnail url='http://i1.ytimg.com/vi/VGazSZUYyf4/3.jpg' height='90' width='120' time='00:22:48.750' yt:name='end'/>
обрабатываем так:
<?php $youtub_id = "VGazSZUYyf4"; $images = json_decode(file_get_contents("http://gdata.youtube.com/feeds/api/videos/".$youtub_id."?v=2&alt=json"), true); $images = $images['entry']['media$group']['media$thumbnail']; $image = $images[count($images)-4]['url']; $maxurl = "http://i.ytimg.com/vi/".$youtub_id."/maxresdefault.jpg"; $max = get_headers($maxurl); if (substr($max[0], 9, 3) !== '404') { $image = $maxurl; } echo '<img src="'.$image.'">';
или через функцию:
function fetch_highest_res($videoid) { $image_qualities = array('maxresdefault', 'hqdefault', 'mqdefault'); //in the order of preference foreach($image_qualities as $image_quality) { if(@getimagesize( ('http://i.ytimg.com/vi/'. $videoid. '/'.$image_quality.'.jpg') ) ) { $imgurl = "http://i.ytimg.com/vi/$videoid/$image_quality.jpg"; return $imgurl; break; //exiting } } }
задаем:
echo fetch_highest_res('Cj6ho1-G6tw').'<br>'; echo fetch_highest_res('VGazSZUYyf4');
и на выводе получаем:
http://i.ytimg.com/vi/Cj6ho1-G6tw/maxresdefault.jpg http://i.ytimg.com/vi/VGazSZUYyf4/hqdefault.jpg