php stripslashes оставляет один слэш

Как субъект говорит, у меня есть некоторые $_POST данные, которые мне нужны для удаления всех слэшей. Тем не менее, он оставляет один, и когда в форме есть ошибки, он печатает данные поста обратно пользователю, поэтому им не нужно повторно вводить их. Когда они снова отправляют страницу, количество слешей значительно увеличивается с каждым отправлением с ошибками. Код, который я имею, прост и использует stripslashes($_POST['first']) а затем отправляет обратно ошибки. Я пытался также str_replace избавиться от последнего \ но это не работает. Есть идеи?

Код РЕДАКТИРОВАТЬ --------

   $first =  stripslashes($_POST[f_name]); 
   $first = str_replace('\\' , '', $_POST[f_name]);

5 ответов

stripslashes() только удаляет первый последовательный обратный слеш (когда они являются последовательными), потому что обратный слеш используется для экранирования обратного слеша.

Вы должны использовать str_replace("\\", "", $_POST['first']);

обновить, если вы пытаетесь удалить косые черты, используйте str_replace("/", "", $_POST['first']);

У вас есть magic_quotes включен? Stripslashes удалит только те символы, которые использовались для выхода из символа. Поэтому, если вы ХОТИТЕ \ в своем тексте, вам нужно экранировать его, используя два: \. В этом случае два \ будут преобразованы в один \ с полосками. Сделайте print_r($_POST) перед выполнением какой-либо обработки, чтобы увидеть, что на самом деле находится в POST.

Отключение магических кавычек должно решить вашу проблему.

У меня была похожая проблема, и я использовал очень грубое решение.... Я только что реализовал функцию stripslashes дважды подряд, или в вашем случае:

$first_temp =  stripslashes($_POST[f_name]);
$first = stripslashes($first_temp);  

Грубый но у меня сработало!

Я думаю, что ваш почтовый массив включает в себя что-то, взятое из базы данных, например "is \'t or Not \'t", для обновления в базу данных. Затем вы делаете одну вещь, когда вы читаете данные в поле использования

stripeslashes(данные ['description_to_textarea'])

решение проблемы

Другие вопросы по тегам