在 XML 文档包含博客文章类型内容的环境中,如何避免尽可能多的实体冲突?
Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 1104: parser error : Entity 'Acirc' not defined in ... (path)
导致此错误的行:
$results = new SimpleXmlElement( $xml );
我还可以控制生成 XML 文档的函数。我一直在尝试对引入 DOM 的每个元素使用此函数来修复实体解析错误:
function my_special_entity_function($text) {
$text= html_entity_decode($text,ENT_QUOTES,"ISO-8859-1"); #NOTE: UTF-8 does not work!
//$text= preg_replace('/&#(\d+);/me',"chr(\\1)",$text); #decimal notation
//$text= preg_replace('/&#x([a-f0-9]+);/mei',"chr(0x\\1)",$text); #hex notation
return $text;
}
最后,我DOMDocument()
用来创建 XML 文件。除了这个问题,它通常工作正常。