php dom更改锚点中的nodeValue

php dom更改锚点中的nodeValue,php,Php,我正在尝试更改NodeValue并将其保存到变量(或打印) $html='1!' '; libxml_使用_内部_错误(true);//忽略格式错误的HTML $xml=newdomdocument(); $xml->loadHTML($html); foreach($xml->getElementsByTagName('a')作为$link){ $link->nodeValue=$link->nodeValue'-'.$link->getAttribute('href'); } 打印(htm

我正在尝试更改NodeValue并将其保存到变量(或打印)

$html='1!'
'; 
libxml_使用_内部_错误(true);//忽略格式错误的HTML
$xml=newdomdocument();
$xml->loadHTML($html);
foreach($xml->getElementsByTagName('a')作为$link){
$link->nodeValue=$link->nodeValue'-'.$link->getAttribute('href');
}
打印(html);
应该打印

<html><body>
 <a href="a.html">some a --- a.html</a>
 <a href="b.html">some b --- b.html</a>
</body></html>


但不会。我做错了什么?

您实际上并没有更改$html,而是更改了DomDocument变量$xml。而不是

print_r($html);
您需要:

echo $xml->saveHTML()

它打印的是什么?它打印以前的$html(没有更改)是的echo$xml->saveHTML()将打印更改的内容,但如何将其存储到变量而不是打印?$html=$xml->saveHTML();
echo $xml->saveHTML()