【发布时间】:2012-06-14 19:45:40
【问题描述】:
使用 PHP 从用户提交的文本生成有效 XML 的最佳实践是什么,例如包含与号、尖括号、非 ascii 重音字符、换行符等的电子商务销售数据。
人们依赖什么函数、库、正则表达式?
【问题讨论】:
-
我目前正在使用 CDATA 和 htmlentities,在 León 中的重音 o 导致火车失事后,我正在使用 strtr() 删除重音字符。问题是公司后台人员讨厌 htmlentities() 输出,他们的 Windows 编码器似乎无法为他们解码。
-
听起来更像是在混合字符集编码,而不是 CDATA 本身有问题。顺便说一句,一起使用 htmlentities 和 CDATA 没有多大意义。因此,与其疯狂而广泛地猜测要杀死某些东西,不如先找出问题所在。那么解决方案通常是微不足道的。那么究竟是什么不起作用?
-
好吧,我们有一些笨蛋,他们使用 Expression Engine 的抽象存储来创建电子商务商店。表编码设置为匹配 EE。商店所有者的后台是 Windows,并且有一个由另一方接受 XML 并导入到 Windows 框上的 Great Plains 的可执行文件。我的任务是编写 API,它接受来自可执行文件的调用以同步分销商、商店产品以及分销商和零售订单。我不想将每条用户输入都包含在 CDATA 标记中,但即使我这样做了,我也发现带重音的 o 问题搞砸了。
标签: php xml character-encoding