我正在使用由 DOM 解析的 xml 模板编写 php cms,并且遇到了将 html 实体替换为符号的错误。这是一个例子:
<CMS_STRING type="link" name="home" title="{enUS:"Home Link"}" />
保存文档 ( $doc->saveXML()
) 后,它会转换为:
<CMS_STRING type="link" name="home" title="{enUS:"Home Link"}" />
它会导致进一步的模板处理错误,因为我需要多次加载和保存(缓存)。
我也尝试了十六进制实体,$doc->substituteEntities = false
但它们仍然被转换。
编辑:问题实际上是DOMNode::attributes->getNamedItem()->nodeValue
我用来处理属性的问题。它返回带有替换的 html 实体的代码。