getting youtube video id the PHP
Actualmente estoy escribiendo una aplicación web en la que algunas páginas dependen en gran medida de poder extraer el video de YouTube correcto y reproducirlo. Los usuarios proporcionan las URL de youtube y, por este motivo, generalmente vienen con variantes, una de ellas puede verse así:
http: //www.youtube.com/watch? v = y40ND8kXDlg
mientras que el otro puede verse así:
http: //www.youtube.com/watch/v/y40ND8kXDl
Actualmente puedo extraer la identificación de este último usando el siguiente código:
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
e,lse
{
$video_query = parse_url( $video_id, PHP_URL_QUERY );
parse_str( $video_query, $video_params );
$video_id = $video_params['v'];
}
}
return $video_id;
}
¿Cómo puedo lidiar con URLS que usan la?v
versión en lugar de/v/
¿versión