我该如何映射“&”作为“&”在Smarty模板中动态生成的XML文件中?

时间:2012-06-13 12:46:49

标签: php xml smarty

我有一个xmlParseEntityRef: no name错误的xml文件 我知道它是由& 符号引起的,删除或替换为&就可以了。问题是这个xml文件是动态生成的,通常非常大(> 5MB)。

我正在将其定义为doctype实体,但无济于事。有什么想法吗?


感谢所有反馈。我完全同意你们所有人的意见 但是,由于我需要快速解决此问题,因此我找到了Smarty模板方面的解决方案。

我发现我可以将变量的值重定向到php函数,如下所示:

{$foo|htmlentities}

参考文献[这里](http://www.smarty.net/forums/viewtopic.php?p=60401)

问题解决了!

我已经更新了这个问题,以防有人遇到类似的问题。

2 个答案:

答案 0 :(得分:1)

我很抱歉这么说,但你需要修复应用程序生成它。它产生的不是XML。

你可能也可以使用类似sed之类的东西来预处理文件,但那只是邪恶的。

答案 1 :(得分:1)

任何声称生成XML的程序都有责任使XML格式良好。如果程序正在生成垃圾,请修复它或将其丢弃。