PHP mysql_real_escape_string() -> stripslashes() 留下多个斜杠最佳解决方案替代解决方案
我在使用PHP / MySQL转义/剥离字符串时遇到问题 - 似乎总是有冗余斜杠。
让我们以以下字符串为例:
<span style="text-decoration:underline;">underline</span>
向数据库添加字符串时,我用它来转义,以下内容存储在数据库中(编辑:通过使用mysql应用程序直接查询数据库来检查这一点):mysql_real_escape_string()
<span style=\\\"text-decoration:underline;\\\">underline</span>
从数据库中读出时,我传递字符串并返回以下内容:stripslashes()
<span style=\"text-decoration:underline;\">underline</span>
由于引号仍然被转义,因此它会破坏html并且文本没有下划线。
- 为什么要添加三个斜杠,而删除两个斜杠?我希望他们俩都添加/删除一个斜杠。
mysql_real_escape_string()
stripslashes()
- 如何防止这种情况发生?
- 我以正确的方式接近这一点吗?