如何从Zend \ Dom \ Query对象中检索确切的html元素

时间:2014-04-04 17:09:08

标签: zend-framework2 zend-dom-query

我想使用Zend \ Dom来获取div中的所有html元素,但它只是提取它的文本并删除html标签

HTML:

<div class="test">
<div id="div1">Text1</div>
<div id="div2">Text2</div>
</div>

我想得到这个:

<div id="div1">Text1</div>
<div id="div2">Text2</div>

但是Zend \ Dom返回了这个:

Text1
Text2

这是代码:

$dom = new Query($html);
$results = $dom->execute('.test');

2 个答案:

答案 0 :(得分:1)

你可以拥有这样的结果的html值:

foreach ($results as $result)
{
  $results->getDocument()->saveHTML($result);
}

答案 1 :(得分:0)

Zend / Dom类中的每个方法都返回Zend / Dom / NodeList对象。

您应该使用getDocument函数来获取完整的DOM。

use Zend\Dom\Query;
$dom = new Query($html);
$results = $dom->execute('.test');
echo $results->getDocument();  

参考: -

Zend/Dom/NodeList Documentation of Zend Framework 2