Удаление обратной косой черты с помощью str_replace

Итак, я пытаюсь удалить обратную косую черту (хранится в базе данных, как в примере - как дела).

Что я хочу сделать, так это удалить эту обратную косую черту и сохранить новые строки и пробелы.

Я знаю, что это делает трюк:

str_replace('\\', '', $string); 

но проблема в том, что у меня есть два других выражения, поэтому прямо сейчас у меня есть:

str_replace('\\r\\n', "\r\n", $string);

Как и где мне вставить '\\', '' во втором примере, не мешая переводу строки?

Я просто пробовал str_replace('\\r\\n\\', "\r\n ', $string) и так далее, но я не могу заставить его работать, не испортив новые строки.

Любой, кто может мне помочь?

РЕДАКТИРОВАТЬ:

Что у меня есть сейчас для вывода данных:

echo nl2br(str_replace('\\r\\n', "\r\n", $string));

Который отображает строку, хранящуюся в базе данных, Как дела?\r\n\r\nROW 3 как:

How\'s it going?

ROW 3

В теге абзаца.

Итак, я хочу сохранить новые строки нетронутыми. Stripslashes удаляет символы новой строки и помещает вывод в одну строку.

При хранении данных я использую эту чистую функцию:

function clean($mysqli, $var) {
    $var = strip_tags($var);
    $var = htmlentities($var);
    $var = stripslashes($var);
    return $mysqli->real_escape_string($var);
}

Что я могу настроить, чтобы сохранить символы новой строки, а также удалить одну обратную косую черту в таких словах, как Это, что, как и т. д..

РЕДАКТИРОВАНИЕ: РЕШЕНО


person Markus    schedule 08.02.2015    source источник
comment
Каков ваш желаемый результат для Как это происходит   -  person Utkarsh Dixit    schedule 08.02.2015
comment
полоски ($ строка)   -  person Anthony    schedule 08.02.2015
comment
К сожалению, эти методы также удаляют новые строки.   -  person Markus    schedule 09.02.2015


Ответы (2)


Просто используйте функцию stripslashes

http://php.net/manual/en/function.stripslashes.php

person Animir    schedule 08.02.2015
comment
Stripslashes также удаляет символы новой строки. - person Markus; 09.02.2015
comment
Да. Но если у вас есть одна косая черта в подстановочных знаках новой строки, это ошибка записи в БД. Если вы не можете это исправить, используйте str_replace('\\r\\n', "\\\\r\\\\n", $string); перед stripslashes - person Animir; 09.02.2015

Я не знаю, считается ли это хорошей практикой, но я сделал следующее:

$output = nl2br(str_replace('\\r\\n', "\r\n", $string));
echo str_replace('\\', "", $output);
person Markus    schedule 09.02.2015