在PHP Simple HTML DOM Parser中找到没有类且没有id的div

时间:2013-12-26 06:23:03

标签: php simple-html-dom

我正在使用PHP Simple HTML DOM Parser,它运行良好,但我在选择没有ID和CLASSH的div时遇到问题。

$html->find( 'div[!class]' )

将返回所有没有类但可以拥有ID的div。

我试过这个,但没有用。

$html->find( 'div[!class][!id]' )

先谢谢。

2 个答案:

答案 0 :(得分:2)

试试这个:

$html->find( 'div[!class], div[!id]' )

答案 1 :(得分:1)

如果你看一下解析器的代码

,我认为它不具备这种功能
function find($selector, $idx=null, $lowercase=false)
{
    $selectors = $this->parse_selector($selector);
    if (($count=count($selectors))===0) return array();
    $found_keys = array();

    // find each selector-here it checks for each selector rather than combined one
    for ($c=0; $c<$count; ++$c)
    {

所以你可以做的是

$find = $html->find('div[!class]');

$selected = array();
foreach ($find as $element) {
    if (!isset($element->id)) {
        $selected[] = $element;
    }
}

$find = $selected;

现在,find将包含所有没有id和class的元素。