我正在使用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="\""images/size-chart.jpg\\"\"" alt="\"Beer" />
答案 0 :(得分:3)
尝试使用urlencode
和urldecode
来转义字符串。
正如克里斯蒂安所说,它不是为了DB而使用,而是为了保持事物的本来面目。因此,您还可以使用urlencode
和urldecode
。
对于Ex:
//to encode
$output = urlencode($input);
//to decode
$input = urldecode($output);
答案 1 :(得分:2)
在将代码发送到DB之前,不应该过度转义代码。
当你逃避它时,它的完成方式使它像原来一样存储在数据库中。转义不是为了DB,而是为了保持数据不被允许用户在sql语句中注入错误的东西(在数据库中发送内容之前)。
答案 2 :(得分:0)
您应该使用htmlspecialchars函数对字符串进行编码,并使用htmlspecialchars_decode将字符串显示回html