我正在使用DOMDocument和DOMXpath来解析html页面。
标记是这样的:
<dl>
<dt>
<a href="">name</a>
</dt>
<dd>
<span class="one">one</span>
<span class="two">two</span>
</dd>
</dl>
<dl>
<dt>
<a href="">name</a>
</dt>
<dd>
<span class="one">one</span>
<span class="two">two</span>
</dd>
</dl>
最初,我只需要获取href值并且能够使用:
$doc = new \DOMDocument();
$doc->loadHTML($html);
$xpath = new \DOMXPath($doc);
$res = $xpath->query('//dl/dt/a');
然后使用->nodeValue
和->getAttribute('href')
但是,现在我想在span标记中获取值为'two'的值。
所以我将查询更新为$xpath->query('//dl')
。
问题是,我如何获得现在的href标签和值以及带有类名的span值。此外,有关如何调试或显示查询路径的任何建议都将非常有用。
谢谢!
答案 0 :(得分:2)
直接使用路径获取这些值:
$res = $xpath->query('//a/@href');
和span-tag中的内容:
$res = $xpath->query("//span[@class='two']");
你可以在这里测试xpath:http://www.xpathtester.com