【发布时间】:2012-02-14 15:04:04
【问题描述】:
我花了几个小时研究了这个问题,但无法找到答案。我正在尝试将 XML 字符串发送给第三方,因此我需要对一些字符进行编码,在这种情况下是单引号,也可能是双引号。我使用 PHP XML Dom 来实现这一点,但 saveXML() 函数似乎总是取消编码引号。下面是一个非常简单的示例,当您查看输出时,'已被替换为 ' 但其他人仍然有他们的代码。谁能解释为什么会这样以及我如何解决它(不做 str_replace)。谢谢。
$XMLDoc = new DOMDocument('1.0', 'utf-8');
$comments = $XMLDoc->createElement('Comments');
$text = $XMLDoc->createElement('Text', "An apostrophe here < ' > Pound sign: £");
$comments->appendChild($text);
$XMLDoc->appendChild($comments);
echo $XMLDoc->saveXML();
【问题讨论】:
-
只是为了澄清,如果你替换了 '与 &039;它仍然做同样的事情
-
我责怪它不是 HTML 4.01 的一部分,尽管我不能说为什么这会在这种情况下产生任何影响。