eelcol/laravel-html-dom

Laravel HTML Dom 实现

2.0.4 2024-04-17 11:23 UTC

This package is auto-updated.

Last update: 2024-09-17 12:13:57 UTC


README

PHP 的 Dom 类的 Laravel 包装器。

示例

  • 加载 HTML
$dom = SuperDom::loadHtml('<html-string>');
  • 通过类名搜索元素
$dom->getElementsByClassname('class', 'element');
$dom->getElementsByClassname(['class1','class2'], 'element');
  • 执行查询

此查询将找到所有同时包含 class1class2 类的 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