2011-08-01 94 views
2

我:條URL獲得YouTube的ID

var post = $('.post'); 
post.find('.video embed').each(function(){ 
    v = $(this); 
    youtubeID = v.attr('src').replace(/^.*youtube.com.*(?:\/|v=)(\w+)\//g,""); 
    console.log(youtubeID); 
}) 

下面是嵌入SRC採取的一個例子URL

http://www.youtube.com/v/_eeZnLX_XBM&rel=0&egm=0&showinfo=0&fs=1

它剝去一切都交給/v/但不與號和一切之後。

我只想_eeZnLX_XBM

回答

2

嘗試:

youtubeID = v.attr('src').match(/youtube\.com.*?v[\/=](\w+)/)[1]; 
1

所以只需添加爲休息替換另一個:

var post = $('.post'); 
post.find('.video embed').each(function(){ 
    v = $(this); 
    youtubeID = v.attr('src').replace(/^.*youtube.com.*(?:\/|v=)(\w+)\//g,"").replace(/&.*/g, ""); 
    console.log(youtubeID); 
}) 
1
var url = v.attr('src'); 
youtubeID = url.substring(url.lastIndexOf('/') + 1 ,url.indexOf('&')); 
0

試試這個:

$('.post').find('.video embed').each(function(){ 
    youtubeID = $(this).attr('src').match(/\/([^&/]+)&/)[1]; 

    console.log(youtubeID); 
}) 

visualization of the regex