2013-12-26 1 views
0

Я использую PHP Simple HTML DOM Parser, он работает хорошо, но у меня есть проблема с выбором div s, у которого нет ИД И КЛАССА ОБА.Найти div, у которого нет класса и нет id в PHP Простой HTML DOM Parser

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

будет возвращать все div, которые не имеют класса, но могут иметь ID.

Я пробовал этот, но не работал.

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

спасибо в продвинутом виде.

+0

Можете ли вы отредактировать вопрос, чтобы заменить «любой идентификатор или класс» на «Идентификатор и класс», поскольку он менее запутанным является –

ответ

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; 

Итак, теперь у найдет все элементы, у которых нет идентификаторов и классов.

+0

Я искал '$ element-> id', я использовал его много лет назад. Благодарю. – Pars

2

Попробуйте это:

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

. divs, которые не имеют id OR. – Pars

Смежные вопросы