l'obtention de la vidéo de youtube id le PHP

Je suis actuellement à la rédaction d'une webapp dans lequel certaines pages sont fortement tributaires d'être en mesure de tirer la bonne vidéo de youtube dans - et de le jouer. Le youtube URL sont fournies par les utilisateurs et pour cette raison va généralement avec des variantes l'un d'eux peut ressembler à ceci:

http://www.youtube.com/watch?v=y40ND8kXDlg

tandis que l'autre peut ressembler à ceci:

http://www.youtube.com/watch/v/y40ND8kXDlg

Actuellement, je suis en mesure de tirer l'ID de ce dernier à l'aide du code ci-dessous:

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;

}

Comment puis-je traiter avec les URL qui utilisent le ?v version plutôt que la /v/ version?

Double Possible: stackoverflow.com/questions/2936467/...
Double Possible: stackoverflow.com/questions/5831191....
Er, le code ci-dessus fonctionne déjà avec la première URL?
Heh. De sorte qu'il n'.
#2 commentaire est plus simple: stackoverflow.com/questions/3392993/...

OriginalL'auteur Udders | 2012-04-02