我用 javascript 构建了我的 xml 文件,我用这样的警告正确地显示了它:
<Voitures>
<voiture par1="4" par2="1" par3="0"/>
<voiture par1="3" par2="0" par3="0"/>
</Voitures>
但问题是当我用 ajax 将它发送到一个 php 文件时,我得到了这个结果:
<Voitures>
<voiture par1=\"4\" par2=\"1\" par3=\"0\"/>
<voiture par1=\"3\" par2=\"0\" par3=\"0\"/>
</Voitures>
谢谢
最佳答案
您的 PHP 配置有 magic quotes已启用,这是一个已弃用的设置,任何人都不应该再使用了。它已在 PHP 5.4 中删除。 立即禁用它,否则您可能会编写在升级到 PHP 5.4 时行为不正确的代码。
如果不可能,请使用 stripslashes()
在用它做任何其他事情之前的值(value)。 仅当您确实无法禁用魔术引号时才这样做。开发启用魔术引号的 PHP 软件是一个非常非常糟糕的主意。
如果您正在尝试编写好的代码并面向 future ,请将其放在每个文件的顶部,或者将其放在随处使用的一些常见包含文件中:
if (get_magic_quotes_gpc()) {
trigger_error("Magic quotes are enabled; please disable them.", E_USER_ERROR);
}
如果启用了魔术引号,这将使您的应用程序简单地拒绝运行。
如果您有选择,请随您的应用程序一起发送一个包含以下内容的 .htaccess
文件:
php_flag magic_quotes_gpc Off
如果可能的话,这将在您的整个应用程序在 Apache 上部署时禁用魔术引号。如果 Apache 配置不允许 .htaccess
文件中的 php_flag
指令,那么这将导致 HTTP 500 错误,这比让您的应用程序在启用魔术引号的情况下运行要好得多。
关于php - 如何消除PHP中的反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12325381/