如何选择除特定元素之外的所有元素?

时间:2016-02-06 10:07:37

标签: php html

我有这样的结构:

<div>
    <span>
        <a class="test">one</a>
    </span>
    <a>two</a>
    <a>three</a>
</div>

这是我的代码:

$data = $html->find('div', 0);
foreach($data->find('a') as $article){
  echo $word .= $article->plaintext."<br>";
}

这是目前的结果:

one
two
three

这是预期的结果:

two
three

正如您在上面的结果中所看到的,我想要选择除<a>类名之外的所有test元素。我怎么能这样做?

注意:我使用this PHP库。

2 个答案:

答案 0 :(得分:1)

之前我没有使用过这个库,但可能是:

->find('a[class!=test]')-

http://simplehtmldom.sourceforge.net/manual.htm#section_find =&gt;属性过滤器标签

答案 1 :(得分:1)

我的建议(没有测试过):

$data = $html->find('div', 0);
foreach($data->find('a') as $article){
  if($article->getAttribute('class') != 'test'){
    echo $word .= $article->plaintext."<br>";
  }
}