使用PHP进行文档操作
我正在尝试使用PHP解析页面的一个非常特定的部分,目前我正在使用:“getElementsByTagName”使用PHP进行文档操作,php,Php,我正在尝试使用PHP解析页面的一个非常特定的部分,目前我正在使用:“getElementsByTagName” 它实际上正在工作,但似乎没有清除所有内容,因为还有其他行具有类似的标记, 因此,我试图寻找一种更好的模式,并找到了一个独特的附加“class”标记。 //获取所有li $items=$DOM->getElementsByTagName('li'); //显示所有LI文本 对于($i=0;$ilength;$i++) echo$items->item$i->nodeValue。“”
它实际上正在工作,但似乎没有清除所有内容,因为还有其他行具有类似的标记,
因此,我试图寻找一种更好的模式,并找到了一个独特的附加“class”标记。
//获取所有li
$items=$DOM->getElementsByTagName('li');
//显示所有LI文本
对于($i=0;$i<$items->length;$i++)
echo$items->item$i->nodeValue。“
”;
您可以使用XPath获取所有唯一的
类名:
$xpath = new DOMXpath($DOM);
$items = $xpath->query('//li[@class="unique"]');
并将其循环:
for ($i = 0; $i < $items->length; $i++) {
echo $items->item($i)->nodeValue . "<br/>";
}
for($i=0;$i<$items->length;$i++){
echo$items->item($i)->nodeValue。“
”;
}
我不明白这个问题。如果你得到了所有的LI,为什么你希望它显示H1文本?@Barmar我想这可能是他粘贴的代码留下的注释。这是我的错误。。代码示例中的H1就在那里。。你可以忽略关于H1OK的评论,但我仍然不理解这个问题。不清除所有内容是什么意思?也许您想要$xp=newdomxpath($dom)$nodes=$xp->query('//li[@class=“unique”]')代码>这就成功了。。。以前从未使用过xpath-感谢您提供的宝贵提示。@Amitsonenschein:很高兴能提供帮助!是的,XPath非常有用。查看文章中的示例。
$xpath = new DOMXpath($DOM);
$items = $xpath->query('//li[@class="unique"]');
for ($i = 0; $i < $items->length; $i++) {
echo $items->item($i)->nodeValue . "<br/>";
}