wikimedia/remex-html

快速HTML 5解析器

4.1.0 2024-03-16 15:54 UTC

This package is auto-updated.

Last update: 2024-09-12 06:01:51 UTC


README

RemexHtml 是一个用于解析 HTML 5 的解析器,用 PHP 编写。

RemexHtml 的目标是

  • 模块化和灵活。
  • 快速,而不是优雅。例如,我们有时会使用直接成员访问而不是通过访问器,并手动内联一些性能敏感的代码。
  • 健壮,旨在达到 O(N) 最坏情况性能。

RemexHtml 包含以下模块

  • 一个符合标准的预处理器和分词器。这生成一个标记事件流。
  • 符合标准的树构建,包括错误恢复。这生成一个树突变事件流。
  • 一个快速集成的 HTML 序列化器,符合 HTML 片段序列化算法。
  • DOMDocument 构建。

RemexHtml 目前缺少

  • 编码支持。预期输入是有效的 UTF-8。
  • 脚本。
  • 精确符合指定的解析错误生成。

RemexHtml 旨在符合 W3C 建议的 HTML 5.1,除了少量回溯的 bug 修复。我们选择实现 W3C 标准,而不是最新的 WHATWG 草案,因为我们的应用需要稳定性,而不是功能完整性。

RemexHtml 通过了所有 html5lib 测试,除了解析错误计数和引用标准未来版本的测试。

警告 这是一个新的项目,我们仍在开发用例。因此,API 可能会更改。

例如,请参阅 bin/test.php 中的示例代码。