I need to take all matches on first level depth http://framework.zend.com/manual/2.0/en/modules/zend.dom.query.html
It shows me all matches that contain class accordion + all child matches
$dom = new Query($html);
$results = $dom->execute('.accordion');
I'm getting all 6 nodes with class .accordion
Html
<div class="accordion">
Test1
<div class="accordion">
Test2
<div class="accordion">
Test3
</div>
</div>
</div>
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
How Can I take only the first levels of DOM Objcets(Nodelist) without childs?
It should be
First object
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
Second object
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
Thanks!
Well I've tested some code
$html = '
<div class="container">
<div class="accordion">
Test1
<div class="accordion">
Test2
<div class="accordion">
Test3
</div>
</div>
</div>
<div class="accordion">
Name
<div class="accordion">
Name2
<div class="accordion">
Name3
</div>
</div>
</div>
</div>
';
$dom = new \Zend\Dom\Query($html);
// Will returns the first levels .accordion in .container ($results length is 2)
$results = $dom->queryXpath('//div[@class="container"]/div[@class="accordion"]');
echo '<pre>';
foreach($results as $result){
print_r($result);
}
exit;
echo :
DOMElement Object
(
[tagName] => div
[schemaTypeInfo] =>
[nodeName] => div
[nodeValue] =>
Test1
Test2
Test3
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] => (object value omitted)
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => div
[baseURI] =>
[textContent] =>
Test1
Test2
Test3
)
DOMElement Object
(
[tagName] => div
[schemaTypeInfo] =>
[nodeName] => div
[nodeValue] =>
Name
Name2
Name3
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] => (object value omitted)
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => div
[baseURI] =>
[textContent] =>
Name
Name2
Name3
)