html-parser 类jquery解析 html
最后更新于:2022-04-02 02:23:49
[TOC]
## 安装
`composer require bupt1987/html-parser`
## 使用
```
$html = '
test
in
p1_content
p2_content
p3_content
test1_content
';
$html_dom = new \HtmlParser\ParserDom($html);
$p_array = $html_dom->find('p.test_class');
$p1 = $html_dom->find('p.test_class1',0);//取第一个
$div = $html_dom->find('div#test1',0);
foreach ($p_array as $p){
echo $p->getPlainText() . "\n";//1.p1_content 2.p3_content 3.p3_content
}
echo $div->getPlainText() . "\n"; //test1_content
echo $p1->getPlainText() . "\n"; //p1_content
echo $p1->getAttr('class') . "\n"; //test_class test_class1
echo "show html:\n";
echo $div->innerHtml() . "\n";//test1_content
$imgdiv = $html_dom->find(".img",0);
echo $imgdiv->getAttr("data-test").PHP_EOL; //img_data
echo $imgdiv->getPlainText().PHP_EOL;//img_content
```
### 基础用法
```
// 查找所有a标签
$ret = $html->find('a');
// 查找a标签的第一个元素
$ret = $html->find('a', 0);
// 查找a标签的倒数第一个元素
$ret = $html->find('a', -1);
// 查找所有含有id属性的div标签
$ret = $html->find('div[id]');
// 查找所有含有id属性为foo的div标签
$ret = $html->find('div[id=foo]');
```
### 层级选择器
```
// Find all -
$es = $html->find('ul li');
// Find Nested
tags
$es = $html->find('div div div');
// Find all in