使用simple_html_dom.php查找除具有特定类的元素之外的所有元素

时间:2014-03-24 23:35:28

标签: php simple-html-dom

我正在使用simple_html_dom parser,我想从html代码中获取数据,如下所示:

<pre class="root">
     <span class="B bgB"></span>
     <span class="B bgB"></span>
     <span class="B bgB"></span>
     <span class="B bgB"></span>
     <span class="W"></span>
     <span class="Y DH"> </span>
     <span class="Y DH">Some text</span>
</pre>

等..

但我只想从没有 bgB类的中获取内容。到目前为止,我有这段代码:

$elements = $html->find('pre.root span[class!=bgB]');

但是所有的跨度都被提取并随后打印出来,而不仅仅是没有bgB类的跨度。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

无法通过简单的方式完成,但如果切换到this one,则可以使用css :not伪:

$html = str_get_html($str);
$elements = $html->find('pre.root span:not(.bgB)');