elmijo / php-html-dom
这是一个允许将格式化的HTML文本字符串转换为PHP对象的工具。
1.0.1
2017-01-03 18:04 UTC
Requires
- php: >=5.4.0
- elmijo/php-cliente-addr: 2.0
- elmijo/php-error-log: 2.0
- symfony/css-selector: ~3.2
Requires (Dev)
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2024-09-14 18:09:33 UTC
README
这是一个允许将格式化的HTML文本字符串转换为PHP对象的工具。
安装
我们可以通过composer来完成
"require": { ... "elmijo/php-html-dom": "1.0" ... }
如何使用此工具
初始化对象
$dom = new \PHPTools\PHPHtmlDom\PHPHtmlDom;
从URL导入HTML
$dom->importHTML('https://php.ac.cn/');
从文件导入HTML
$dom->importHTML('/ruta/del/archivo.txt');
从文本导入HTML
$dom->importHTML('<div id="content-1"><ul><li class="item">item 1</li><li class="item">item 2</li></ul></div>');
检查是否已导入HTML
if(!!$dom->importHTML('https://php.ac.cn/')) { ... //Si se logra importar el contenido devuelve TRUE ... }
el方法
此方法允许在导入的HTML内容中实例化一个或多个元素,为了实例化该对象,我们只需传递一个CSS选择器。
$domlist = $dom->e('article'); //o $domlist = $dom->e('.clase-de-los-elementos'); //o $domlist = $dom->e('#id-del-elemento'); //o $domlist = $dom->e('article > div > p:first-child');
结果是PHPTools\PHPHtmlDom\Core\PHPHtmlDomList对象,该对象具有一系列方法,可帮助您处理结果。
每个PHPTools\PHPHtmlDom\Core\PHPHtmlDomList对象由一系列PHPTools\PHPHtmlDom\Core\PHPHtmlDomElement元素组成,这些元素也具有一系列方法来操作该对象。
一个完整的示例
$dom = new \PHPTools\PHPHtmlDom\PHPHtmlDom; if(!!$dom->importHTML('https://php.ac.cn/')) { var_dump($domlist->count()); $domlist = $dom->e('article'); $element = $domlist->eq(0); $parentElem = $element->parent(); $find = $domlist->eq(0)->childs->find('p'); $find->each(function($inx,$ele){ echo sprintf("%s : %s","Tiene la clase item",$ele->hasclass('item')); echo sprintf("%s : %s","Nombre de la Etiqueta",$ele->tagName); echo sprintf("%s : %s","Texto con Forrmato",$ele->textFormatting); }); }