我正在尝试使用 Zend_Dom_Query 从网页中获取一些特定内容。我得到了一个查询来从一个 dom 元素中获取内容。现在我想选择第二个 dom 元素来获取这个内容。
这是html:
<div class="blocks">
<div class="w2">
<h2>Some title</h2>
<p>some text</p>
<p>more text</p>
<p class="more-info"><a href="#">link</a></p>
</div>
<div class="w2">
<h2>Some title</h2>
<p>some text</p>
<p>more text</p>
<p class="more-info"><a href="#">link</a></p>
</div>
</div>
到目前为止我的代码:
$client = new Zend_Http_Client();
$client->setUri('http://awsomewebsite');
$result = $client->request('GET');
$response = $result->getBody();
$dom = new Zend_Dom_Query($response);
foreach ($dom->query('div.w2') as $content) {
echo $content->getElementsByTagName('h2')->item(0)->nodeValue; // this gives me the h2 value
echo $content->getElementsByTagName('a')->item(0)->getAttribute('href');
}
现在的问题是当有更多的锚链接时,这个解决方案不起作用。我的问题是:选择多个元素的正确方法是什么?或者我可以在这个 foreach 中使用新查询来选择正确的元素吗?