PHP在DOMDocument上保存HTML

时间:2011-08-25 23:23:32

标签: php html dom tags domdocument

$html = <<<HTML
<div class="hey">test</div>
<div id="no">bla</div>
<div class="hey"><b>sa</b> hey<div id="l">b</div></div>  
HTML;

$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$q = '//div[@class="hey"]';
$arr = $xpath->query($q);
foreach($arr as $el) {
    echo $el->nodeValue;
}  

我上面有这个代码,但它没有将html保存在类“嘿”中。如何在div中保存HTML?

2 个答案:

答案 0 :(得分:0)

尝试使用$e1->textContent代替$e1->nodeValue

textContent

  

此属性返回此节点及其后代的文本内容。

nodeValue

  

此节点的值,具体取决于其类型

答案 1 :(得分:0)

你可以使用saveXML或saveHTML和可选的contextNode-argument(设置为$ el)来获取字符串。 该字符串还将包含div.hey,通过RegExp将其删除。

请注意:saveHTML支持自5.3.6版以来的可选contextNode