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\\\"";
转载于:https://blog.51cto.com/stark/708978