POST提交表单后的内容中的双引号全部都自动在前面被加上了反斜杠

比如:

在表单中填写This is a "test"

提交后,实际为this is a \"test\"

这是php防注入功能添加的反斜杠。设置php.ini的magic_quotes_gpc为Off,就可以关闭此功能(不建议这么做)。

解决方法是:使用string stripslashes ( string str ),去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。

 

ps:

php中定义字符串时,如果字符串中有双引号,需要加反斜杠将双引号转义为双引号本身。

比如:$str = "This is a \"test\""; //实际存储的是 This is a "test"

php提交表单,为了防注入,会将表单中的双引号加上反斜杠。

比如:提交了This is a "test",实际存储的就是This is a \"test\",如果要定义这个么个字符串要用,$str = "This is a \\\"test\\\"";