PHP可以';尝试使用DOMDocument将mysql转义数据回送到XML时,t strip斜杠

PHP可以';尝试使用DOMDocument将mysql转义数据回送到XML时,t strip斜杠,php,xml,stripslashes,Php,Xml,Stripslashes,我使用mysql\u real\u escape\u string转义后在数据库中插入了一些HTML文本,我正在尝试将它们添加到XML文档中以供flash文件读取,我正在使用DOMDocument类制作XML文档,下面是我的尝试和输出: 尝试1: 输出: 砍了很多刀 尝试2: $desc = $doc->createElement('desc',htmlentities(stripslashes($sql['body']))); 输出: 还有很多斜线 有什么想法吗?我认为您的配置中启用了

我使用mysql\u real\u escape\u string转义后在数据库中插入了一些HTML文本,我正在尝试将它们添加到XML文档中以供flash文件读取,我正在使用DOMDocument类制作XML文档,下面是我的尝试和输出: 尝试1:

输出:

砍了很多刀

尝试2:

$desc = $doc->createElement('desc',htmlentities(stripslashes($sql['body'])));
输出:

还有很多斜线


有什么想法吗?

我认为您的配置中启用了神奇的引号

在转义vai mysql\u real\u escape\u string()之前必须检查它,因为它将添加更多斜杠

如果(获取\u魔术\u引号\u gpc()){

$b=斜杠($b)

}

$b=mysql\u real\u escape\u字符串($b)


它来自数据库,它有斜杠,因为我在插入之前转义了它

当数据从数据库中出来时,不应该有多余的斜杠;转义数据时添加的内容不应在最终结果中可见,不再需要
stripslashes()


您很可能在为数据库准备数据的方式上有问题。也许可以告诉我们。

sql['body']到底从哪里来?从数据库?如果是,它不应该有任何斜杠它来自数据库,它有斜杠,因为我以前逃过了它inserting@user1460518-转义将具有特殊含义的字符替换为转义序列。它不会在数据中添加斜杠。正确的解决方案是首先关闭magic_引号,而不是贴上绷带。
$desc = $doc->createElement('desc',htmlentities(stripslashes($sql['body'])));