DOMオブジェクトでページを繰り返し処理していて、ある時点でスタックしました。
これが私が反復しなければならないサンプルHTMLコードです。
...
<div class="some_class">
some Text Some Text
<div class="childDiv">
</div>
<div class="childDiv">
</div>
<div class="childDiv">
</div>
<div class="childDiv">
</div>
</div>
...
さて、これが部分的なコードです。
$dom->loadHTML("content above");
// I want only first level child of this element.
$divs = $dom->childNodes;
foreach ($divs as $div)
{
// here the problem starts - the first node encountered is DomTEXT
// so how am i supposed to skip that and move to the other node.
$childDiv = $div->getElementsByTagName('div');
}
ご覧のとおり、..$childNodes
が戻るDOMNodeList
と、それを繰り返し処理します。foreach
いつでもaDOMText
に遭遇した場合、それをスキップすることはできません。
DOMText
とのリソースタイプを区別する条件を設定できる方法を教えてくださいDOMElement
。