【问题标题】:Regex: Optional HTML tags in HTML?正则表达式:HTML 中的可选 HTML 标签?
【发布时间】:2011-09-29 16:39:11
【问题描述】:

我需要从 HTML 中解析一些值。

【问题讨论】:

标签: javascript html regex


【解决方案1】:

You can't parse (X)HTML with RegEx,所以不要这样做。您需要使用合适的解析器来构建文档对象模型 (DOM)。由于您使用 JavaScript 标记了您的问题,我建议您使用 jQuery 构建 HTML 的对象图,就像这样:

var $document = $(html);

这个$document 对象现在可以使用$document.find() 之类的方法来操作,以从HTML 中挖掘出您想要的元素。

【讨论】:

  • 查看我的个人资料。我正在开发一个 JavaScript 函数来使用 RE 清理 HTML 字符串,并使用自制函数解析 HTML。我希望尽快发布它(请参阅这些答案 HTML parserHTML sanitiser using RE)。一旦我的函数完成,我将它们合并到第一个问题的函数中。
  • @RobW,您无法使用 RegEx 清理 HTML。 HTML 不是一种常规的、可预测的语言。它是一种不规则且不可预测的语言,由如此多的活动部分和如此多的安全方面组成,因此不可能编写一个正则表达式来处理存在的数百万个边缘情况,并且将被利用来注入 XSS 攻击,该攻击将不管它有多好,都要通过你的消毒剂。
  • 主要威胁是脚本和外部资源,我将对其进行过滤。我目前正在将我的(尚未发布的)相对到绝对 URL 转换器移植到过滤外部资源的消毒器。
猜你喜欢
  • 1970-01-01
  • 2014-08-23
  • 2021-09-30
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 2010-10-09
  • 2011-05-03
相关资源
最近更新 更多