futuretek/advanced-html-dom

1.3.0 2024-09-27 09:09 UTC

This package is auto-updated.

Last update: 2024-09-27 09:10:16 UTC


README

本项目目标是作为一个基于DOM的、PHP的simple_html_dom库的即插即用替代品。

如何使用

与simple_html_dom相同的方式。如果你使用file/str_get_html,则不需要更改任何内容。如果你使用new simple_html_dom()实例化,则需要将其更改为new AdvancedHtmlDom()

有何不同

主要是HTML中的格式(空格)。这是由DOM添加的,无法绕过。一些非标准选择器已被删除,但添加了许多标准选择器。例如:img[src!=foo]被删除,因为它不是一个有效的选择器。添加了诸如a + ba ~ b或甚至a.foo:not(.bar)之类的功能。

有何优势

  • 性能提高10x-20x
  • 降低内存需求
  • 支持更多CSS选择器

功能

  • 支持完整的CSS伪选择器集以及许多jQuery额外功能::not, :has, :contains, :gt, :lt, :eq
  • 与CSS或xpath一起使用:$doc->find('h3 a'), $doc->find('//h3//a')
  • jQuery风格的函数替换、包装、解包、在...之前/之后
  • 节点集运算:$doc->find('a')->minus($doc->find('.skip_me'))
  • 许多尚未文档化的其他功能。

变更日志

  • 添加变更日志
  • 生成文档
  • 代码修订 - 再次加快速度(例如 " to ')