-1

我在使用 mysql_real_escape_string 对它们进行转义后在数据库中插入了一些 HTML 文本,并且我试图将它们添加到 XML 文档中以供 flash 文件读取,我正在使用 DOMDocument 类来制作 XML 文档,这是我的尝试和输出:尝试 1:

$descC = $doc->createCDATASection(stripslashes($sql['body']));
$desc = $doc->createElement('desc');
$desc->appendChild($descC);

输出:

很多斜线!

尝试2:

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

输出:

还有很多斜线

有任何想法吗 ?

4

2 回答 2

0

我认为您的配置中启用了魔术引号。

您必须在转义 vai mysql_real_escape_string() 之前检查它,因为它会添加更多斜杠。

如果(get_magic_quotes_gpc()){

$b = 斜线($b);

}

$b = mysql_real_escape_string($b);

于 2012-08-12T17:27:27.067 回答
0

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

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

您为数据库准备数据的方式很可能存在问题。也许向我们展示这一点。

于 2012-08-13T08:19:29.807 回答