如何使 SimpleXML 在 PHP 中用它们各自的字符替换 HTML/XML 实体?
假设有这个 XML 文档,在一个字符串中:
$data = '<?xml version="1.0" encoding="ISO-8859-1"?><example>Tom & Jerry</example>'
显然,我希望 SimpleXml 解码&
为&
. 默认情况下它不这样做。我尝试了这两种方法,但都没有奏效:
$xml = new SimpleXMLElement($data);
$xml = new SimpleXMLElement($data, LIBXML_NOENT);
解码 XML 实体的最佳方法是什么?我猜 XML 解析器应该这样做,我想避免html_entity_decode
在解析之前运行(实际上,它也不起作用)。这可能是字符串编码的问题吗?如果是这样,我该如何跟踪和修复它?