2016-11-25 31 views
0

我需要匹配索引1中的iframe src的url。我使用此matchAll函數來匹配多個匹配項。在索引1上匹配iframe中的iframe src

if (typeof RegExp.prototype.matchAll !== "function") { 
    RegExp.prototype.matchAll = function(v) { 
     var tmp  = ""+ this, // So this.toString 
      src  = tmp.lastIndexOf("/"), 
      pattern = tmp.substring(1, src), 
      flags = tmp.substring(src + 1, tmp.length); 

     // Never forget "g", that prepends infinite loops for "while" 
     if (flags.indexOf("g") == -1) { 
      flags += "g"; 
     } 

     var re = new RegExp(pattern, flags); 
     var ms = [], m; 
     while (m = re.exec(v)) { 
      ms.push(m); 
     } 
     return ms; 
    }; 
} 

使用此測試代碼:

str = '<iframe width="560" height="315" src="https://www.youtube.com/embed/8L-6Hw7CZLQ" frameborder="0" allowfullscreen></iframe>'; 
var pattern = /\[embed\](.*?)\[\/embed\]|<iframe.*?src="(.*?)".*?<\/iframe>/; 
var matches = pattern.matchAll(str); 
console.log(matches); 

我得到了SRC,但在指數2,我需要它的指數1,因爲該模式確實匹配使用該索引其他東西1作爲「url」,所以我寧願匹配該索引上的所有url,而不是修改整個代碼。

什麼是正確的模式,以獲得任何iframe索引1上的src url?

+0

發佈HTML,以防萬一有些事情沒有發生在您身上和/或幫助我們解決此問題。 – zer00ne

+0

@ zer00ne'[embed] https://www.youtube.com/embed/123123 [/ embed] ffdsads