Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php phtmlparser-$dom->;find()只返回第一个结果_Php_Html Parsing_Simpledom - Fatal编程技术网

Php phtmlparser-$dom->;find()只返回第一个结果

Php phtmlparser-$dom->;find()只返回第一个结果,php,html-parsing,simpledom,Php,Html Parsing,Simpledom,我正在使用通过Composer加载的包(基于),并解析HTML字符串,但是当使用$dom->find()循环遍历我正在搜索的所有元素时,它只检测到第一个元素(共29个) 产出:1 示例HTML: <li class="SPECIALCLASS "></li> <li class="SPECIALCLASS SOMEOTHERCLASS "></li> 编辑:完全删除类选择器会导致返回5/29 li标记,因此我感觉这里有更大的作用。尝试以下方

我正在使用通过Composer加载的包(基于),并解析HTML字符串,但是当使用$dom->find()循环遍历我正在搜索的所有元素时,它只检测到第一个元素(共29个)

产出:1

示例HTML:

<li class="SPECIALCLASS "></li>
<li class="SPECIALCLASS SOMEOTHERCLASS "></li>
  • 编辑:完全删除类选择器会导致返回5/29 li标记,因此我感觉这里有更大的作用。

    尝试以下方法:

    而不是:


    如果您尝试:foreach($dom->find('li[class=SPECIALCLASS]')as$element){}我刚刚安装了php html解析器,并用示例输入测试了您的脚本,它按预期返回2。因此,可能问题出在示例HTML上。这似乎有很大帮助,但我现在得到了7个结果(共29个),当我尝试循环它们以查看结果时,我的find()->text或find()->innerHTML并没有立即运行代码,因此我们可以看到问题所在@莱埃洛
    <li class="SPECIALCLASS "></li>
    <li class="SPECIALCLASS SOMEOTHERCLASS "></li>
    
    $dom->find('li[contains(@class, "SPECIALCLASS")]');
    
    $dom->find('li[class=SPECIALCLASS]');