仅使用Javascript从HTML字符串中提取元标记

时间:2017-10-17 17:27:00

标签: javascript html regex zapier

我收到了网页的HTML作为字符串,我试图从字符串中包含的HTML标记中提取值,更具体地说是元标记。我已经找到了通过jQuery实现这一目标的方法,但是我使用的平台不允许JQuery加上我提取的html在技术上是一个字符串所以不需要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>

但似乎我不能打破正则表达式并且不会接受分号作为分号并且只是给出错误

1 个答案:

答案 0 :(得分:0)

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