#html-parser #html #nom #parser #convert-html

nom_html_parser

使用Nom编写的将HTML字符串转换为HTML树结构的解析器

2个版本

0.1.1 2020年10月8日
0.1.0 2020年5月3日

2937 in 解析实现


用于 wasm-component

GPL-3.0 许可证

35KB
973

Nom HTML 解析器

该项目是一个使用nom创建的Alpha HTML解析器。

该库的目的是提供一个高性能的运行时HTML解析库,将HTML字符串转换为HTML节点结构。实际上,该库相当脆弱

遵循的规则

  • 始终在新的行上关闭HTML分隔符。目前,自闭合标签和1行HTML是无效的。
// good
<div>
</div>

// bad
<div></div>
<input />
  • 始终根据嵌套级别缩进节点。
// good
<div>
  <div>
  </div>
</div>

// bad
<div>
<div>
</div>
</div>
  • 属性必须用反引号书写。
// good
<div class=`test`>
</div>

// bad
<div class="test">
</div>
  • 文本节点是最终的,它们假设节点开始之后的所有内容都是文本,而不是HTML节点。例如
<div>
  {{test}}
  {{/test}}
  <p>
    Test
  </p>
</div>

这将在div内容中生成一个文本节点。若要具有这种结构,您必须将文本节点包裹在一个HTML元素中

<div>
  <span>
    {{test}}
    {{/test}}
  </span>
  <p>
    Test
  </p>
</div>

这些限制是临时的,将会修复,但到目前为止,库是可用的,我将继续进一步改进它。欢迎贡献 :)

依赖关系

~1MB
~18K SLoC