2011-10-24 2 views
2

le Javascript ci-dessous ne fonctionne que pour les vidéos Youtube url réelle.Obtenir l'ID vidéo YouTube à partir de la vignette en utilisant regex en javascript?

<script> 
regex = /http\:\/\/www\.youtube\.com\/watch\?v=(\w{11})/; 
url = 'http://www.youtube.com/watch?v=VK4ah66jBvE&feature=feedu'; 
id = url.match(regex)[1]; 
document.write(''+id+''); 
</script> 

ce que je ne sais pas comment faire est une expression régulière si l'URL se trouvait une miniature d'une vidéo sur youtube qui dans cet exemple serait http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg? J'ai essayé

<script> 
regex = /http\:\/\/i1\.ytimg\.com\/vi(\w{11})/0.jpg;; 
url = 'http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg'; 
id = url.match(regex)[1]; 
document.write(''+id+''); 
</script> 
+0

Très similaire à [comment obtenir id vidéo YouTube à partir de l'image Thum source de botte, et définir comme iframe?] (http://stackoverflow.com/questions/7870113/how-to-get-youtube-video-id-from-image-thumbnail-source-and-set-as-an -iframe/7870246 # 7870246) –

+0

non parce que c'est jquery c'est javascript. Je n'ai pas mentionné ou étiqueté jquery dans ce post. Je n'ai pas de problèmes avec la jquery car cela ne marchera pas avec un autre morceau de jquery qui est beaucoup plus important. pourrais-tu m'aider s'il te plait? –

+0

L'expression régulière est la même, car il utilise JavaScript .match() –

Répondre

5

cela fonctionnerait-il?

regex = new RegExp(/\/vi\/(.*)\//); 
url = 'http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg'; 
id = url.match(regex)[1]; 
+0

merci que cela fonctionne –

+0

@ user1010031 De rien. :) heureux de vous aider. –

+0

J'ai une autre question pour vous. sauriez-vous comment régler le 'url = ''' en extrayant le src de la balise img '' –

0

Vous avez oublié un/et d'échapper à une/et la fuite/

regex = /http\:\/\/i1\.ytimg\.com\/vi\/(\w{11})\/0.jpg/; 
0

Il vous manque le \/ avant (\w{11}), alors vous devez échapper à la prochaine barre oblique avec \, vous devriez probablement échapper le ., et vous avez besoin de la barre de fermeture:

var regex = /http\:\/\/i1\.ytimg\.com\/vi\/(\w{11})\/0\.jpg/; 
Questions connexes