hrmatching/advanced_html_dom

该软件包的官方仓库似乎已不存在,因此软件包已被冻结。

dev-master 2018-05-16 21:44 UTC

This package is not auto-updated.

Last update: 2023-01-25 10:56:12 UTC


README

更新:我已用php 7.0.1 - 7.0.5以及PHP 5.3及更高版本测试了此库,一切似乎正常。

此项目的目标是成为PHP简单html dom库的基于DOM的即插即用替代品。

如何使用 - 与简单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'))
  • 许多BeautifulSoup和Nokogiri都无法做到的事情:$doc->search('span:lt(7):not(.foo)')
  • 许多尚未文档化的功能。

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

如何安装它

将以下代码添加到你的composer.json中

{
    "require": {
        "hrmatching/advanced_html_dom": "dev-master"
    },
    "autoload": {
       "classmap": ["vendor/hrmatching/advanced_html_dom/advanced_html_dom.php"]
    }
}