1
이전에 몇 번 물어 봤지만 여기서는 다른 예제로는 알 수 없습니다. $ ulHTMLsaved에PHP DOMDocument로 자식 노드에 들어가기
$classname = "gallery2";
$pageDOM = new DOMDocument();
$pageDOM->loadHTML($kl);
$xpath = new DOMXPath($pageDOM);
$ul = $xpath->query("//ul[@class='$classname']");
$ulNode = $ul->item(0);
$ulHTML = new DOMDocument();
$ulHTML->appendChild($ulHTML->importNode($ulNode, TRUE));
$ulHTMLsaved = $ulHTML->saveHTML();
var_dump
내가 원하는 모든 마크 업을 반환하지만 그때는 기존의 변수에서 자식 노드에 foreach 문을 얻을 어떻게 내가 설정 한 그?
$ulHTMLsaved
에는 다음과 같은 내용이 포함되어 있습니다. & 모든 li
노드 내에 중첩 된 다른 노드의 다양한 속성을 가져 오려고합니다. 다음로 검색하여 자식 요소로
<ul>
<li>
<figure>
<a>
<img src="img.jpg" alt="">
</a>
</figure>
</li>
<li>
<figure>
<a href="">
<img src="img.jpg" alt="">
</a>
</figure>
</li>
</ul>
DOM은 나무입니다. 해당 트리의 모든 노드 (예 : html 태그)는 그 자체로 하위 트리의 루트입니다. 일단 xpath가 당신을 위해 노드를 찾으면, 당신은 더 많은 DOM 작업을 위해 그 노드를 사용할 수 있습니다. –
그래서 동일한 xpath 변수를 사용하고 쿼리를 사용하여 새 변수를 만드시겠습니까? '$ xpath-> query ("// a");와 같은 것이지만'li' 노드를 어떻게 루프합니까? – joe
은 "context"를위한 두 번째 arg를 query()에 사용합니다. 예 : '$ xpath-> query ('// a', $ node_from_previous_result)'는 $ node가 "root"인 DOM 분기로 xpath의 검색을 제한합니다. –