我正在尝试使用多个类名来获取ul
标记的内容。相同的语法适用于div标记,但无法使用下面的ul
标记。它只返回空数组。
<html>
<div>
<div>
<div>
<ul class="set-left farm margin-exclude">
<li>
<a href="#">Text</a>
</li>
</ul>
</div>
</div>
</div>
</html>
下面只返回空数组。
$html->find('ul[class=set-left farm margin-exclude]');
答案 0 :(得分:2)
这应该可以解决问题
$html->find('ul.set-left.farm.margin-exclude');
答案 1 :(得分:2)
我的工作代码在我的最后: -
file.txt的: -
<html>
<div>
<div>
<div>
<ul class="set-left farm margin-exclude">
<li>
<a href="#">Text</a>
</li>
</ul>
<ul class="set-left farm margin-exclude">
<li>
<a href="#">Text2</a>
</li>
</ul>
</div>
</div>
</div>
</html>
query.php: -
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
include_once('simple_html_dom.php'); // this is parser file
$html = file_get_html('file.txt');
$level_items = $html->find('*[class="set-left farm margin-exclude"]');
foreach ( $level_items as $item ) {
echo $item;
}
浏览器输出: - http://i.share.pho.to/92745ee0_o.png
注意: - 在此处下载解析器文件: - https://sourceforge.net/projects/simplehtmldom/files/
您可以使用不同的方式: -
$html->find('ul.set-left');
OR
$html->find('.set-left.farm.margin-exclude');
OR
$html->find('*[set-left.farm.margin-exclude]');