【问题标题】:Is my idea for creating html parser from scratch going to work?我从头开始创建 html 解析器的想法是否可行?
【发布时间】:2017-05-30 22:04:22
【问题描述】:

为了练习我的技能,我准备编写一个 html 解析器。我的想法:

  • 通过正则表达式定义我想要标记的内容。
  • 接受一些 html 作为字符串。
  • 循环遍历 html 字符串。
  • 将有关令牌的信息(例如内容和位置)保存为对象。
  • 如果令牌有另一个令牌,则该令牌是父令牌的子对象。
  • 完成对象图。

  • 创建适当的 getter 和 setter。

你觉得这有意义吗?

【问题讨论】:

标签: javascript html html-parsing


【解决方案1】:

正则表达式不适合像这样的繁重的 HTML 解析; regular expressions are a tool that is insufficiently sophisticated to understand the constructs employed by HTML.

最好的办法是使用基于state machinetokeniser 的实现。

您还可以在HTML5 specification 中阅读有关解析 HTML5 的更多信息。

【讨论】:

  • 我如何标记文本?除了一些简单的正则表达式或使用拆分之外,我想不出其他任何东西
  • 我只需要定义像空格这样的分隔符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 2011-04-15
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
相关资源
最近更新 更多