使用PHP DOMDocument在许多中搜索一个类

时间:2015-12-24 03:03:12

标签: php domdocument

我的DOM中有一些元素有多个类,其中一个是.dictionary_entry。我需要在我的DOM中查找此类的任何实例,并且我正在使用以下PHP代码:

$divs = $dom->getElementsByTagName('div');
$check = 0;
for ($i = 0; $i < $divs->length; $i++) {
    $node = $divs->item($i);
    if ($node->getAttribute('class') == 'cross-entry') { $check = 1; }
}

但是,这不起作用,因为有问题的div也有其他类,例如<div class="cross-entry cross-one one-more-class">

有解决方法吗?

1 个答案:

答案 0 :(得分:1)

  1. 检查字符串中的空格。
  2. 如果存在,请在whitespace上展开课程。
  3. 检查所需的课程是否在数组
  4. 否则,检查存在的单个类是否匹配
  5. 否则,请将$check设置为0。
  6. 看起来像这样:

    $class = $node->getAttribute('class');
    $is_whitespace = preg_match('/\s/', $class);
    if($is_whitespace){
        $classes = explode(' ', $class);
        if(in_array('cross-entry', $classes)){
            $check = 1;
        }
    } elseif($class == 'cross-entry'){
        $check = 1;
    } else {
        $check = 0;
    }