我的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">
有解决方法吗?
答案 0 :(得分:1)
whitespace
上展开课程。$check
设置为0。看起来像这样:
$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;
}