在使用PHP DOMDocument
的{{1}}和saveXML()
方法时,我注意到了不同的“转储”行为。这是一个倾销版权符号的简单示例(©)。
saveHTML()
三个转储产生三种不同的输出:
第一个输出字符串
<?
$domDoc = new DOMDocument();
$domDoc->loadHTML("©");
echo $domDoc->saveHTML();
echo $domDoc->saveXML();
echo $domDoc->saveXML($domDoc);
?>
第二个输出字符实体©
第三个输出版权符号(©
)
为什么不同的输出?有没有办法将可预测性控制用于哪种方法?
答案 0 :(得分:1)
我不是PHP专家,但对于前两个:
©
是一个对于第三个,文档说如果你提供一个节点,那么编写给定节点时没有XML声明(即作为文档片段)。我只能猜测在那种情况下它决定采用UTF-8编码。从文档中可以看出这种行为。