$val = "I'm string";
对于这种类型的字符串,我正在使用adslashes函数,该函数将字符串转换为如下形式:
"I\'m string"
并存储到数据库中。当我从字段数组中的数据库中获取所有数据并在
中传递数组时json_encode($arr);
作为回应,我得到的字符串带有这样的额外斜杠:
"I\\'m string"
我想删除json_encode添加的额外斜杠。我该怎么做??
答案 0 :(得分:2)
您可以使用stripslashes
。
但是,您应该使用准备好的语句。这样一来,您就不必担心逃脱自己的价值观。
答案 1 :(得分:2)
如果您真的想回答这个问题,可以用addslashes
来颠倒stripslashes
。
但是千万不要使用addslashes函数来转义要发送给mysql的值。
使用本机准备的语句mysqli_real_escape_string()
或PDO::quote
。
但请注意:
在此处了解有关字符集问题的更多信息:http://php.net/manual/en/mysqlinfo.concepts.charset.php
答案 2 :(得分:-2)
甚至有可能这样做(尽管我认为它仅是斜杠/
:
json_encode($array, JSON_UNESCAPED_SLASHES);
但是请注意注释和Script47的答案,并正确修复它。