繁体   English   中英

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

[英]Extracting Meta Tags from HTML string using only Javascript

我收到了网页的 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>

但似乎我无法摆脱正则表达式并且不会接受分号作为分号而只是给出错误

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM