eelcol / laravel-html-dom
Laravel HTML Dom 实现
2.0.4
2024-04-17 11:23 UTC
Requires
- php: ^8.0
- ext-dom: *
- ext-libxml: *
- illuminate/database: ^9|^10|^11
- illuminate/support: ^9|^10|^11
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
README
PHP 的 Dom
类的 Laravel 包装器。
示例
- 加载 HTML
$dom = SuperDom::loadHtml('<html-string>');
- 通过类名搜索元素
$dom->getElementsByClassname('class', 'element');
$dom->getElementsByClassname(['class1','class2'], 'element');
- 执行查询
此查询将找到所有同时包含 class1
和 class2
类的 div 元素。
$dom->query()
->element('div')
->class('class1')
->class('class2')
->get();
多个查询可以通过 or
组合
$dom->query()
->element('div')
->class('class1')
->class('class2')
->or(function ($q) {
$q->element('ul')
->class('list');
})
->get();
- 在文档上执行 XPath 查询
$dom->query("a[...]");
- 在元素上执行 XPath 查询
$elements = $dom->getElementsByTagName("a");
$element = $elements->first();
$element->xpath("....");
- 获取下一个兄弟元素
$element->getNextSibling();
$element->getNextSibling("span");
安装
使用 composer 需要此包。
composer require eelcol/laravel-html-dom:^2.0