Полоски и перевод строки в переменную в PHP - PullRequest
5 голосов
/ 26 декабря 2011

Как я понимаю, полоски не должны удалять косую черту от символа новой строки "\ n". И все работает нормально, за исключением ситуации, когда у меня есть символ новой строки в переменной.

$string = '\n\"';
echo stripslashes($string); // n"

Но мне нужно в следующем выводе: \n".

Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 26 декабря 2011

Я думаю, что вы смешиваете двойные и простые кавычки

$bad = '\n\"';
$good = "\n\"";

При использовании одинарных кавычек нет отступа (appart \ '), также в одинарных кавычках PHP не заменит переменные PHP.

С другой стороны, двойная кавычка позволяет использовать экранированную последовательность, такую ​​как \n, \t и т. Д. *

. Вы можете просмотреть документацию и проверитьразличия.

Значит, вы хотели написать

$string = "\n\"";
echo stripslashes($string); // \n"
1 голос
/ 26 декабря 2011

Внутри одинарных кавычек, \n не переводится на новую строку.Вместо этого используйте двойные кавычки:

$string = "\n\"";

Для лучшего понимания ваш текущий код эквивалентен:

$unwanted_string = "\\n\\\""; // Will be printed as:  \n\"
0 голосов
/ 26 декабря 2011

Я думаю, что использование двойных кавычек вместо этого решит вашу проблему

$string = "\n\"";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...