xpath用法详解扩展篇
接着上一篇《xpath在PHP中的应用,采集爬取HTML代码并匹配节点内容》继续探索xpath。
在上一篇中基本的了解了xpath的使用,现在来加深下。
还是用上一篇的HTML吧,这里就不重复写了,不太明白的小伙伴麻烦移步到上一篇看一下哈。
一、获取所有div[class='item']中的P元素内容
$list = $xpath->evaluate("/html/body/div[@class='item']/p");二、获取第一个div[class='item']中的P元素内容
$list = $xpath->evaluate("/html/body/div[@class='item'][1]/p");三、获取最后一个div[class='item']中的P元素内容
$list = $xpath->evaluate("/html/body/div[@class='item'][last()]/p");四、获取所有div[class='item']中的P元素内容和H3(HTML代码中没有这个,就当有吧)
$list = $xpath->evaluate("/html/body/div[@class='item']/p | /html/body/div[@class='item']/h3");五、嵌套使用xpath获取子内容
$list = $xpath->evaluate("/html/body//div[@class='item']");
foreach($list as $item){
$p=$xpath->evaluate(".//p",$item);
$text=$p->textContent;
$attr=$p->getAttribute('title');//获取节点的属性值
$html=$htmlDom->saveHTML($item);//获取节点的HTML代码
}附:
【xpath教程-W3C】https://www.w3school.com.cn/xpath/index.asp
【DOMDocument手册】https://www.php.net/manual/en/class.domelement.php





有 0 位网友评论: