我创建了一个将自由文本字段存储到MySQL数据库中的表单。
一切正常,数据在查看时按预期显示。除了一个人之外。
为了防止恶意攻击,我使用mysql_real_escape_string从输入中删除任何不需要的代码。
但是,我需要能够保留超链接和基本的HTML。
例如,我想存储以下内容:
<p align="left">Please follow this <a href="link.html">link</a></p>
但是当链接被转义时,链接被存储为\“link.html \”。
如何保留此链接和其他HTML?
非常感谢
TT
答案 0 :(得分:2)
这看起来像是两次引用字符串。你在php.ini中关掉了magic_quotes_gpc
吗?
答案 1 :(得分:1)
那不是mysql_real_escape_string()这样做 - 我怀疑它实际上是magic quotes
答案 2 :(得分:0)
您可以使用PHP函数stripslashes从引号中删除转义斜杠:
echo stripslashes($textos);
答案 3 :(得分:0)
使用PHP5,最好的方法是使用带有PDO扩展名的预准备语句 - 这将为您处理所有事情。