2013-04-29 3 views
0

Je veux obtenir l'identifiant individuel d'un lien youtube pour que je puisse l'utiliser plus tard, pour extraire d'autres informations telles que l'image miniature et l'insérer dans l'iframe intégré .Extraire une chaîne d'une chaîne où la chaîne est variable

Je remarque que, je l'espère, des urls sur youtube commencer http://www.youtube.com/watch?v=ID vidéo unique puis en fonction de quelques choses peuvent finir quelque chose comme &list=RD02M5u5zXVmoHM. Mais l'identifiant unique a toujours un & après et le watch?v= avant. Est-ce la meilleure façon de le faire? Avoir écrit cela correctement?

$link=$_POST['link']; 
$link_id=str_replace('http://www.youtube.com/watch?v=', '', $link); 
$link_id=strstr($link_id, '&', true); 

Ceci provient des données de formulaire. Y a-t-il d'autres variables provenant des URL youtube que je peux rencontrer?

+1

[double possible] (http://stackoverflow.com/questions/6556559/youtube-api-extract-video-id –

+0

Donc c'est un peu si simple ce que j'ai écrit. La réponse acceptée sur ce post est géniale. Merci –

Répondre

1

Ce que vous voulez faire est d'utiliser: http://php.net/pase_url et http://php.net/parse_str comme ceci:

<?php 
$info = parse_url("https://www.youtube.com/watch?v=DA57FOJSdM8"); 
parse_str($info["query"], $query); 
print_r($query); 

// Outputs: Array ([v] => DA57FOJSdM8) 
+0

donc le résultat final est un tableau? Que fait la partie ['query'] ici? –

+0

ah l'ai eu. nice –

+0

Quelle fonction puis-je utiliser pour mettre le [v] du tableau dans une chaîne, je ne peux pas savoir lequel –

1

Une combinaison de parse_url() et parse_str() serait un moyen plus simple où PHP gère le sale boulot pour vous. Exemple:

$video_id = false; 

$url_parts = parse_url($link); 
$query_params = array(); 

if (isset($url_parts['query'])) 
{ 
    parse_str($url_parts['query'], $query_params); 
} 

if (isset($query_params['v'])) 
{ 
    $video_id = $query_params['v']; 
} 

Et maintenant $video_id contient l'ID que vous avez besoin.

+0

votre 'parse_str()' est faux –

+0

Droit, fixé cela. – pilsetnieks

Questions connexes