$val = "I'm string";
Для этого типа строки я использую функцию addlashes, которая преобразует строку следующим образом:
"I\'m string"
и сохранить в базе данных. Когда я получаю все данные из базы данных в массив полей и передал массив в
json_encode($arr);
В ответ я получаю строку с дополнительной косой чертой, как это:
"I\\'m string"
И я хотел удалить тот лишний слеш, который добавляется json_encode. как я это делаю ??
Если вы действительно хотите получить ответ на этот вопрос, вы можете отменить addslashes
с stripslashes
,
Но никогда не используйте функцию addlashes для экранирования значений, которые вы собираетесь отправить в mysql.
Используйте нативно подготовленные высказывания, mysqli_real_escape_string()
или же PDO::quote
,
НО ПРИМЕЧАНИЕ:
Подробнее о проблемах с набором символов читайте здесь: http://php.net/manual/en/mysqlinfo.concepts.charset.php
Ты можешь использовать stripslashes
.
Тем не менее, вы должен использовать подготовленные заявления. Таким образом, вам не нужно беспокоиться о том, чтобы избежать ваших ценностей.
Это может быть даже возможно с этим (хотя я думал, что это косая черта /
только:
json_encode($array, JSON_UNESCAPED_SLASHES);
Но прислушайтесь к комментариям и ответу Script47 и просто исправьте это правильно.