elmijo/php-html-dom

这是一个允许将格式化的HTML文本字符串转换为PHP对象的工具。

1.0.1 2017-01-03 18:04 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:09:33 UTC


README

Build Status Coverage Status Scrutinizer Code Quality Code Coverage Latest Version

这是一个允许将格式化的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);
    });
}