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:
tandis que l'autre peut ressembler à ceci:
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/...
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
Vous devez vous connecter pour publier un commentaire.
Comme ceci:
Ici est la solution universelle:
Ou tout simplement utiliser cette regex:
http://www.youtube.com/watch?v=oHg5SJYRHA0&player=normal&... There can be a dozen of these. Your code will produce the ID of
oHg5SJYRHA0&joueur=normal&... " - qui est clairement fauxFixe. Regardez la nouvelle solution.
Ou de regarder mon code ici: github.com/lingtalfi/video-ids-and-thumbnails/blob/master/... Il traite les différentes youtube url, et vimeo et dailymotion.
OriginalL'auteur Daniil Ryzhkov
OriginalL'auteur debasish
Essayer:
Devrait fonctionner pour les deux
OriginalL'auteur Sudhir Bastakoti
D'accord, c'est une bien meilleure réponse que mon précédent:
C'est peut-être bien d'avoir ça dans une fonction pour garder les nouvelles variables hors de portée globale (sauf si vous les voulez il y a, bien évidemment).
OriginalL'auteur MichaelRushton
Cela peut ne pas être en cours d'utilisation, mais il y a peut être d'autres personnes à la recherche d'une réponse, donc, pour obtenir un ID YouTube à partir d'une URL.
P. S: Cela fonctionne pour tous les types d'URL, je l'ai testé;
Ou il suffit d'utiliser la fonction preg_match lui-même;
Espère que cela aide quelqu'un :)!
OriginalL'auteur Toxic
Cet exemple ne fonctionne que si il y a un " = " dans l'URL. Plus que probablement être plus?
OriginalL'auteur MichaelRushton
je viens de rechercher le dernier "/" ou le dernier "=". Après, vous trouverez toujours le vidéo-id.
/
URL, mais ne fonctionne pas toujours avec l'autre type. Si vous copiez/collez l'url du site web de youtube, il y a souvent d'autres paramètres, tels que youtube.com/watch?v=oHg5SJYRHA0&joueur=normal&... Il peut y avoir une douzaine de ces. Jugez par vous-même ce qui se passera si vous cherchez le dernier=
oh c'est vrai. mais si vous recherchez de la première apparition de "v=" ou "v/", vous obtenez le début de l'id. la fin de l'id est la fin de la chaîne ou de la prochaine "&".
OriginalL'auteur ESCOBAR
OriginalL'auteur Dejan Marjanovic
C'est le meilleur moyen d'obtenir youtube vedio id , Ou tout autre domaine dans l'url , mais vous devez indice de changement (V) à partir de $ID_youtube['v'] pour tout ce que vous voulez.
OriginalL'auteur Osama Mosaad
De sortie:
oHg5SJYRHA0
Source
OriginalL'auteur Randel Fordberg
De sortie: uKW_FPsFiB8
Cela fonctionne pour les url comme https://www.youtube.com/watch?v=uKW_FPsFiB8&feature=related ou https://www.youtube.com/watch?v=vzH8FH1HF3A&feature=relmfu ou seulement https://www.youtube.com/watch?v=uKW_FPsFiB8
OriginalL'auteur santosh