gpt4 book ai didi

php - XML解析器在不同环境下的不同结果,为什么?

转载 作者:行者123 更新时间:2023-12-04 07:01:24 24 4
gpt4 key购买 nike

<?php
$xml = <<< AAA
<test>c đưa lên 1 -&gt; 10 k</test>
AAA;
$p = xml_parser_create();
xml_parse_into_struct($p, $xml, $vals, $index);
xml_parser_free($p);
print_r($vals);

为什么我会得到不同的结果?
在我的电脑中,结果是
Array
(
[0] => Array
(
[tag] => TEST
[type] => complete
[level] => 1
[value] => c đưa lên 1 -> 10 k
)

)

在生产环境中,结果是
Array
(
[0] => Array
(
[tag] => TEST
[type] => complete
[level] => 1
[value] => c đưa lên 1 - 10 k
)

)

> 消失了。
为什么?

最佳答案

有时,当您切换环境时,您会看到一些与文本编码和其他国际化相关问题相关的差异。因此,您可以尝试在 xml_parser_create 中显式设置编码功能。

另一件要考虑的事情是 PHP 版本。运行 phpinfo()从两个环境中检查那里的版本。可能是正在使用的 PHP 版本被编码为忽略 HTML 实体 (>) ......只是一个猜测。

编辑:
根据这个bug report ,这种忽略 HTML 实体的行为可能是由 libxml2 引起的。尝试将生产服务器上的 libxml2 更新到最新版本。

关于php - XML解析器在不同环境下的不同结果,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1780934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com