【发布时间】:2012-05-17 14:01:07
【问题描述】:
我是如何获得我的 dom 树的:
$html = file_get_contents('somefile.html');
$dom = new DOMDocument();
@$dom->loadHTML($html);
$dom_document = new DomXPath($dom);
$dom_object = $dom_document->query('somePathHere');
$dom_object的html结构:
<div>
<a href='something'>some text here</a>
I want this
</div>
这里有我需要的:
foreach($dom_object as $value){
echo $value->getElementsByTagName('a')->item(0)->nodeValue; //working properly
echo 'I want this' // I don't know how to get that 'I want this' text
}
precisions:我想避免进行多个 xpath 查询。我想坚持我的……提前谢谢你。干杯。马克
【问题讨论】:
-
div 是否有名称或 ID?如果不是,那么 div 标签出现的顺序是否总是相同的(就像它总是打开第二个 div 一样)?
-
你好 Ahatius。 div标签没有id,结构总是一样的...
-
正如@Ahatius 所说,您可以为您的 div 添加一个 ID,然后您可以获得文本。
-
你好 MahanGM。向 div 添加 id 将如何解决我的问题?
-
@Mark 我不太喜欢 DOM,但应该有一些方法可以引用 div,然后删除子标签,然后只获取 div 内容本身。
标签: php dom html-parsing