YouTube, jQuery, javascript, php
В очередной раз захожу на ютуб посмотреть на Мастера Чифа, уничтожающего с особой жестокостью фиолетовых пришельцев, и, естественно, нарываюсь на рекламу какой-то невнятной полюбени.
Сквозь зубы: «Спасибо **ть большое».
Слава богу, что в видео, которое ютуб вещает через api, рекламы пока нет, и этим незамедлительно надо воспользоваться.
Собственно наклепал на коленке мини плагин.
Пример использования:
$('#ytbplayer').YouTube_Playlist({
list : $('#ytbplayer_list'),
receivers : {
playlist : '/system/php/Scripts/YouTube/playListData.php',
video : '/system/php/Scripts/YouTube/videoData.php'
},
queue : [
'video:e_S9VvJM1PI',
'playlist:PL549EB9DBB2FF8C24',
'video:TxvpctgU_s8',
'video:rLG6OAE6FIE',
'video:IR_mBh5mqok'
]
});
Php-скрипты:
<?php $data = array(); $playlist = isset($_GET['playlist']) ? trim($_GET['playlist']) : ''; if($playlist) { $xml = file_get_contents('http://gdata.youtube.com/feeds/api/playlists/' . $playlist); if($xml) { $xml = new SimpleXMLElement($xml); if($xml) { foreach($xml->entry as $video) { foreach($video->link as $link) { if($link['type'] == 'text/html') { $href = (string)$link['href']; } } if($href && preg_match('/\?v=([^$#&]*)/', $href, $matches)) { $data[$matches[1]] = array( 'title' => (string)$video->title ); } } } } } print json_encode($data); ?>
<?php $data = array(); $videos = isset($_GET['videos']) ? explode(",", trim($_GET['videos'])) : array(); foreach($videos as $video) { $xml = file_get_contents('http://gdata.youtube.com/feeds/api/videos/' . $video); if($xml) { $xml = simplexml_load_string($xml); if($xml) { foreach($xml->link as $link) { if($link['type'] == 'text/html') { $href = (string)$link['href']; } } if($href && preg_match('/\?v=([^$#&]*)/', $href, $matches)) { $data[$matches[1]] = array( 'title' => (string)$xml->title ); } } } } print json_encode($data); ?>
И, конечно же, результат.