mastermunj/advanced_html_dom

PHP简单html dom的更好替代品。

0.0.4 2016-12-29 13:54 UTC

This package is not auto-updated.

Last update: 2024-09-26 01:10:14 UTC


README

更新:我已经在php 7.0.1 - 7.0.5以及PHP 5.3及更高版本上测试了这个库,一切似乎都正常工作。

本项目目标是成为一个基于DOM的、PHP简单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风格的函数:replace、wrap、unwrap、before after
  • Nodeset数学:$doc->find('a')->minus($doc->find('.skip_me'))
  • 许多尚未记录的功能。

如果你喜欢Advanced HTML Dom,请在这里投票支持