Допустим, у меня есть URL-адрес youtube video www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2
Я хочу получить миниатюру видео -> i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg Мне просто нужен простой скрипт php, который я буду вводить $ url и получить $ img. Если возможно, мне хотелось бы удалить все остальные параметров и останутся только с www.youtube.com/watch?v=B4CRkpBGQzU в качестве $ url
Чтобы извлечь идентификатор из следующего URL-адреса:
$url = 'www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2';
Вы можете сначала использовать parse_url()
чтобы получить строку запроса:
$queryString = parse_url($url, PHP_URL_QUERY); var_dump($queryString);
Который здесь даст вам:
string 'v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2' (length=49)
И затем используйте parse_str()
для извлечения параметров из этой строки запроса:
parse_str($queryString, $params); var_dump($params);
Который доставит вам следующий массив:
array 'v' => string 'B4CRkpBGQzU' (length=11) 'feature' => string 'youtube_gdata' (length=13) 'par1' => string '1' (length=1) 'par2' => string '2' (length=1)
И теперь, это просто вопрос использования элемента v
из этого массива, введя его в URL-адрес миниатюры:
if (isset($params['v'])) { echo "i3.ytimg.com/vi/{$params['v']}/default.jpg"; }
Который дает :
i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg
<?php function getYoutubeImage($e){ //GET THE URL $url = $e; $queryString = parse_url($url, PHP_URL_QUERY); parse_str($queryString, $params); $v = $params['v']; //DISPLAY THE IMAGE if(strlen($v)>0){ echo "<img src='http://i3.ytimg.com/vi/$v/default.jpg' width='150' />"; } } ?> <?php getYoutubeImage("http://www.youtube.com/watch?v=CXWSlho1mMY&feature=plcp"); ?>
$url = "http://youtube.com/watch?v=B4CRkpBGQzU"; $url = explode("&", $url); $vidID = preg_match("|?v=(.*)|", $url); $thumb_default = file_get_contents("http://img.youtube.com/vi/$vidID/default.jpg"); $thumb1 = file_get_contents("http://img.youtube.com/vi/$vidID/0.jpg"); $thumb2 = file_get_contents("http://img.youtube.com/vi/$vidID/1.jpg"); $thumb3 = file_get_contents("http://img.youtube.com/vi/$vidID/2.jpg"); $thumb4 = file_get_contents("http://img.youtube.com/vi/$vidID/3.jpg");
Предполагая, что youtube не изменит их формат:
$thumb = preg_match('/watch\?v=(.*)&feature/',$url, $matches);
Это даст вам часть «B4CRkpBGQzU» в $matches[1];
matches $matches[1];
Получение идентификатора видео из URL-адреса
$url = "http://www.youtube.com/watch?v=oHg5SJYRHA0&feature=relate"; parse_str( parse_url( $url, PHP_URL_QUERY ) ); echo $vidID;//this is video id
Получение изображений
$thumb1 = file_get_contents("http://img.youtube.com/vi/$vidID/0.jpg"); $thumb2 = file_get_contents("http://img.youtube.com/vi/$vidID/1.jpg"); $thumb3 = file_get_contents("http://img.youtube.com/vi/$vidID/2.jpg"); $thumb4 = file_get_contents("http://img.youtube.com/vi/$vidID/3.jpg");