erste youtube-video-id des PHP

Ich bin derzeit am schreiben einer webapp, in dem einige Seiten sind stark abhängig von Lage zu ziehen, die richtige youtube-video-in - und spielen. Die youtube-URLS werden geliefert durch den Benutzer, und aus diesem Grund wird in der Regel in Varianten nur einer von Ihnen kann wie folgt Aussehen:

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

während die andere könnte wie folgt Aussehen:

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

Derzeit bin ich in der Lage zu ziehen die ID aus der letzteren mit dem folgenden code:

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;

}

Wie kann ich mit URLS, mit denen die ?v version eher als die /v/ version?

Mögliche Duplikate von: stackoverflow.com/questions/2936467/...
Mögliche Duplikate von: stackoverflow.com/questions/5831191....
Er, der obige code funktioniert bereits mit der ersten URL?
Heh. So ist es nicht.
#2 Kommentar ist der einfachste Weg: stackoverflow.com/questions/3392993/...

InformationsquelleAutor Udders | 2012-04-02

Schreibe einen Kommentar