如何转义html代码插入mysql

时间:2011-05-18 11:52:38

标签: php mysql html

我正在使用tinymce编辑器来获取html页面,然后将其插入到mysql中。 我试过这个:

 $esdata = mysql_real_escape_string($data);

它适用于除图像之外的所有html 。如果我有像:

这样的超链接
http://www.abc.com/pic.jpg

然后它使它有点模糊,图像不会出现。

INPUT <img src="../images/size-chart.jpg" alt="Beer" />

OUPUT <img src="\&quot;&quot;images/size-chart.jpg\\&quot;\&quot;" alt="\&quot;Beer" />

3 个答案:

答案 0 :(得分:3)

尝试使用urlencodeurldecode来转义字符串。 正如克里斯蒂安所说,它不是为了DB而使用,而是为了保持事物的本来面目。因此,您还可以使用urlencodeurldecode

对于Ex:

//to encode
$output = urlencode($input);


//to decode
$input = urldecode($output);

答案 1 :(得分:2)

在将代码发送到DB之前,不应该过度转义代码。

当你逃避它时,它的完成方式使它像原来一样存储在数据库中。转义不是为了DB,而是为了保持数据不被允许用户在sql语句中注入错误的东西(在数据库中发送内容之前)。

答案 2 :(得分:0)

您应该使用htmlspecialchars函数对字符串进行编码,并使用htmlspecialchars_decode将字符串显示回html