2011-08-25 71 views
0
$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。如何将HTML保存在div中?PHP在DOMDocument上保存HTML

回答

0

尝试$e1->textContent而不是$e1->nodeValue

textContent

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

nodeValue

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

0

您可以使用saveXML或saveHTML与可选contextNode参数的(将其设置为$ EL),以获得字符串。 该字符串还将包含div.hey,通过RegExp将其删除。

请注意:saveHTML自版本5.3.6起支持可选的contextNode