В настоящее время я пишу webapp, в котором некоторые страницы сильно зависят от возможности вытащить правильное видео в YouTube и играть в него. В URLS YouTube поставляются пользователям и по этой причине, как правило, приходят с вариантами один из них может выглядеть следующим образом:получение youtube video id PHP
в то время как другой может выглядеть следующим образом:
в настоящее время я могу вытащить ID от последнего нам ИНГ код ниже:
function get_youtube_video_id($video_id)
{
// Did we get a URL?
if (FALSE !== filter_var($video_id, FILTER_VALIDATE_URL))
{
// http://www.youtube.com/v/abcxyz123
if (FALSE !== strpos($video_id, '/v/'))
{
list(, $video_id) = explode('/v/', $video_id);
}
// http://www.youtube.com/watch?v=abcxyz123
else
{
$video_query = parse_url($video_id, PHP_URL_QUERY);
parse_str($video_query, $video_params);
$video_id = $video_params['v'];
}
}
return $video_id;
}
Как я могу иметь дело с URLS, которые используют версию ?v
, а не версию /v/
?
Возможный дубликат: http://stackoverflow.com/questions/2936467/parse-youtube-video-id-using-preg-match – Alexander
Возможно дубликата : http: //stackoverflow.com/questions/5831191/.... – safarov
Er, приведенный выше код уже работает с первым URL-адресом? – cmbuckley