Как получить оригинальную ссылку на видео YouTube, подобно многим сервисам скачивания видео. Немного поискав, нашел несколько статей:
В первой даже приведен код на JavaScript, но когда начал писать что-то подобное, столкнулся с некоторыми проблемами:
- При нескольких обращениях по адресу 'https://www.youtube.com/get_video_info?video_id={V... возвращается по-разному структурированная информация. Например: При первом обращении При втором обращении Не сказать, что это проблема, т.к. ссылки всё равно остаются.
- Из-за непонятной (мне) структуры этой информации, я не могу разобраться как же мне всё-таки правильно разбить всю информацию и, предположим, создать массив РАЗРЕШЕНИЕ_ВИДЕО => ССЫЛКА_НА_СООТВЕТСТВУЮЩИЙ ФОРМАТ
Ну и наконец черновая реализация, которая изредка работает
$config = urldecode(file_get_contents('https://www.youtube.com/get_video_info?video_id='.$id));
$end = array();
echo '<pre>';
foreach ( explode('&', $config) as $key => $value )
{
array_push( $end, explode( '=', $value ) );
}
foreach ( $end as $el )
{
if( $el[0] == 'url' )
echo '<a href="'.urldecode($el[1]).'">'.urldecode($el[1]).'</a><br>';
}