我有节点,并循环迭代它们。
$html = <<<HTML
<div id="test">
<span>1</span>
<span>2</span>
</div>
HTML;
$dom= new Zend_Dom_Query($html);
$results = $dom->query('span');
foreach($results as $node){
...
}
如何获取节点的HTML代码? (不是innerHTML,完整的HTML代码<span>1</span>
)
答案 0 :(得分:2)
$htmlNode = iconv('UTF-8','ISO-8859-1',$results->getDocument()->saveXML($node));
Iconv存在于此,因为我有俄文字符。
答案 1 :(得分:2)
我最近在研究Zend_Dom_Query。很难想清楚这一点。终于得到了解决方案。所以这个答案适合那些仍在那里苦苦挣扎的人。
$dom = new Zend_Dom_Query($html);
$results = $dom->query('div#test');
foreach($results as $node){
if($node->hasChildnodes()) {
$childNodes = $node->childNodes;
$countOfNodes = $childNodes->length;
$firstSpan = $childNodes->item(0)->C14N();
}
}
$firstSpan
将包含<span>1</span>
。您还可以使用$countOfNodes
遍历节点以获取第二个span或第n个元素