我正在尝试使用DOM分析器技术提取一些数据。
我的代码:
<?php
// create new DOMDocument
$document = new \DOMDocument('1.0', 'UTF-8');
// set error level
$internalErrors = libxml_use_internal_errors(true);
$data = '<div id="show">
<ul class="browse_in_widget_col">
<li>
<a href="accounting/">
Accounting
</a>
<span>
(7420)
</span>
</li>
</div>';
$dom = new DOMDocument();
$dom->loadHTML($data, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xp = new DOMXPath($dom);
$makes = $xp->query('//ul[@class="browse_in_widget_col"]/ul');
$makeList = [];
foreach ( $makes as $make ) {
$makeList[] = $make->textContent;
}
print_r($makeList);
?>
我想在元素<a>
标签之间拉出。
示例在这里我需要此元素的会计。我该怎么做?
[帮助我获取a标签中的所有值。现在我得到了空数组
在您的XPath表达式中,您正在寻找一个嵌套的<ul>
标记,但没有一个。如果只需要<a>
标记的内容,则可以将查询更改为//ul[@class="browse_in_widget_col"]//a
。
$xp = new DOMXPath($dom);
$makes = $xp->query('//ul[@class="browse_in_widget_col"]//a');
$makeList = [];
foreach ( $makes as $make ) {
$makeList[] = trim($make->textContent);
}
我还将trim()
添加到输出中以删除任何空格。