我正在使用通过 Composer 加载的php-html-parser包(基于simplehtmldom)并解析 HTML 字符串,但是当使用 $dom->find() 循环遍历我正在搜索的所有元素时,它只是检测第一个元素(共 29 个)。
require __DIR__ . "/vendor/autoload.php";
$dom = new PHPHtmlParser\Dom;
$dom->load($result); // $result is the output of a cURL request
$classes = $dom->find('li[class=SPECIALCLASS]');
echo count($classes);
foreach($classes as $class){
echo $class->text;
}
输出:1
示例 HTML:
<li class="SPECIALCLASS "></li>
<li class="SPECIALCLASS SOMEOTHERCLASS "></li>
编辑:完全删除类选择器会导致返回 5/29 li 标签,所以我觉得这里有更大的东西在起作用。