一个持续了一年多的问题,我虽然已经纠正了,但已经演变成一个怪物。
我使用在 PHP 系统上生成的 XML 在站点之间移动大量数据。主要是文本 我遇到了一些破坏传输的基本 XML 项,因此我使用了所有 XML 值的这段代码。
$value=str_replace("'","'",$value);
print '<'.$key.'>';
print htmlspecialchars($value, ENT_XML1 | ENT_QUOTES, 'UTF-8');
print '</'.$key.'>';
$key 是字段,这对所有数据都非常有效,除了包含诸如 piñata 之类的重音的任何数据。带有 ñ 字符的值显示为完全空。
我还没有找到一个函数来使用 PHP 清理 XML 格式的文本。我目前将数据库中的数据转储为这种格式,然后在接收端加载到 SIMpleXML 以加载回数据库。
通过清理所有数据或可能的 json 编码而不是 XML 的解决方案可能会很棒。
谢谢-克里斯