DiDOM是一个功能完好、易于利用和高性能的解析器和操作库,可以帮助PHP开拓者更加高效地处理HTML文档。
为了更好地理解这个项目,我们先来看看下面的先容。
你可以利用composer来安装DiDOM,只须要在你的项目目录下实行下面的命令:
composer require imangazaliev/di-dom
构建DOM树
利用DiDOM,您可以轻松地将HTML或XML代码转换为DOM树。支持各种形式的初始化和调用,下面是一个示例:
// 初始化加载$document = new Document($html);// 本地文件$document = new Document('page.html', true);// 网络文件$document = new Document('http://www.example.com/', true);// 或者利用方法加载$document = new Document();$document->loadHtml($html);$document->loadHtmlFile('page.html');$document->loadHtmlFile('http://www.example.com/');
查询元素
DIDOM支持丰富且方便的查询方法,您可以轻松地查询DOM树中的元素。最基本的有CSS选择器和XPath方法:
// CSS 选择器$posts = $document->find('.post');// XPath$posts = $document->find("//div[contains(@class, 'post')]", Query::TYPE_XPATH);
险些支持页面中常见的所有CSS选择器:
// 所有A标签$document->find('a');// ID为 "foo" 且 class 为 "bar"$document->find('#foo.bar');// 包含属性"name"$document->find('[name]');// 也可以写为$document->find('[name]');// input的name为"foo"$document->find('input[name=foo]');$document->find('input[name=\'bar\']');$document->find('input[name="baz"]');// 任何以data开头且value为foo的$document->find('[^data-=foo]');// 所有https开头的a标签$document->find('a[href^=https]');// 所有扩展名为png的$document->find('img[src$=png]');// 所有链接匹配"example.com"$document->find('a[href=example.com]');// 类名是"foo"的a标签的text$document->find('a.foo::text');// 找对应的href和title$document->find('a.bar::attr(href|title)');
丰富的链式调用
DiDOM还有许多其他有用的特性和功能,例如:
利用CSS选择器查询元素获取和设置元素属性获取和设置元素文本删除元素将DOM树转换为HTML或XML代码将HTML或XML代码格式化为易于阅读的形式总结至此,我们先容了DiDOM解析器的紧张功能和用法。DiDOM不仅功能强大,而且易于利用,是一个非常有代价的工具。如果您须要解析和操作HTML或XML文档,不妨试试DiDOM。
原文标题:[imangazaliev/didom]一个大略有快速的DOM操作库
原文地址:https://phpreturn.com/index/a64310ede8315a.html
原文平台:PHP武器库
版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站许可任何形式的转载/引用文章,但必须同时注明出处。