bavix / advanced-html-dom
Bavix 高级 HTML DOM。
1.1.0
2020-01-27 17:37 UTC
Requires
- php: ^7.1
- ext-dom: *
- ext-libxml: *
- ext-xml: *
Requires (Dev)
- bavix/tests: ^1.0
This package is auto-updated.
Last update: 2024-09-20 19:19:52 UTC
README
- 供应商: bavix
- 包: 高级 HTML DOM
- 版本:
- PHP 版本: 7.1+
- Composer:
composer require bavix/advanced-html-dom
此项目目标是成为 PHP 简单 HTML DOM 库的基于 DOM 的即插即用替代品。
如何使用 - 与简单的一样。如果你使用 file/str_get_html,则无需更改任何内容。如果你使用 new simple_html_dom()
实例化,则需要将其更改为 new AdvancedHtmlDom()
有什么不同 - 主要是在 HTML 中的格式(空格)。这是由 DOM 添加的,无法避免。已删除一些非标准选择器,但添加了许多标准选择器。例如:img[src!=foo]
已被删除,因为它不是一个有效的选择器。添加了类似 a + b
和 a ~ 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)')
- 许多尚未记录的功能。
如何通过 composer 安装
composer req bavix/advanced-html-dom
支持