2017-10-17 86 views
-3

我已经收到网页的HTML作为字符串,并且我尝试从包含在字符串中的HTML标记中提取值,更具体地说是元标记。我已经找到了通过jQuery做到这一点的方法,但是我使用的平台不允许JQuery加上我提取的html在技术上是一个字符串,所以不需要html。我希望提取每个元标记并将其保存到数组中以供稍后使用。任何正则表达式解决方案?仅使用Javascript从HTML字符串中提取元标记

var rawHTML=input.rawHTML; 
var HTMLlength=rawHTML.length; 
var metas=rawHTML.split(">"); 
var testString="This is a <body>Test String for Regex</body>"; 
for(var i=0;i<metas.length;i++) 
    { 
    metas[i]=metas[i]+">"; 
    } 
var twitterResults; 
for(var i=0;i<metas.length;i++) 
    { 
    metas[i]=strip_html_tags(metas[i]); 
    //twitterResults = testString.match(<TAG\b[^>]*>(.*?)<); 
    } 

更重要的是,我试图做一个正则表达式则表达式来提取这些标记为

/<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1> 

但似乎我不能打出来的正则表达式,并不会接受一个分号作为分号,只是出错

+0

请分享字符串样本,你的尝试? – C2486

回答

0

你可以使用一个正则表达式,但我实际上将字符串加载到DOM documentFragment,然后通过查找1类型的节点来解析meta标记的片段一个nodeName === META

相关问题