【发布时间】:2018-01-03 22:00:19
【问题描述】:
我正在将外部 HTML 内容加载到这样的变量中:
$content = file_get_contents('http://localhost');
页面有一组<ul>的循环,如下所示:
<ul class="items-list">
<li>Title1</li>
<li>Description1</li>
<li>Location1</li>
</ul>
<!-- OTHER CONTENT HERE BETWEEN THE UL AND THE PRICE DIV -->
<a href="#">
<div class="item-price">£10</div>
<a/>
<ul class="items-list">
<li>Title2</li>
<li>Description2</li>
<li>Location2</li>
</ul>
<!-- OTHER CONTENT HERE BETWEEN THE UL AND THE PRICE DIV -->
<a href="#">
<div class="item-price">£15</div>
</a>
<ul class="items-list">
<li>Title3</li>
<li>Description3</li>
<li>Location3</li>
</ul>
<!-- OTHER CONTENT HERE BETWEEN THE UL AND THE PRICE DIV -->
<a href="#">
<div class="item-price">£20</div>
</a>
<ul class="items-list">
<li>Title4</li>
<li>Description4</li>
<li>Location4</li>
</ul>
<!-- OTHER CONTENT HERE BETWEEN THE UL AND THE PRICE DIV -->
<a href="#">
<div class="item-price">£25</div>
</a>
我有以下代码,它使用 DOMXPath 搜索所有项目列表 UL,然后我可以循环并回显它。
$dom = new DomDocument();
$dom->loadHTML($content);
$xpath = new DOMXPath($dom);
$items = $xpath->query("//ul[@class='items-list']");
foreach ($items as $node) {
echo $node->textContent;
}
这项工作非常完美。但是,我需要帮助显示每个循环的价格,这些循环来自名为 item-price 的 div 类,它在 UL 之后但不是紧随其后。
我该怎么做?
【问题讨论】:
标签: php domdocument domxpath