замените \ n действительным символом новой строки - PullRequest
13 голосов
/ 16 июля 2010

Я извлекаю контент из БД, которая была очищена с помощью mysql_real_escape_string. Соответственно символы новой строки теперь отображаются как "\ n". Проблема в том, что это содержимое отображается пользователям внутри тега

, поэтому я не могу заменить \ n на 
, например. Полагаю, я мог бы заменить \ n на фактический код символа utf8, прежде чем вставить результат в . Сомонеон может помочь здесь? Не использовать mysql_real_escape_string - не вариант из-за политики безопасности. Спасибо.

Ответы [ 5 ]

23 голосов
/ 16 июля 2010
<code>echo '<pre>'.str_replace('\n', "\n", $string).'
';
5 голосов
/ 16 июля 2010
str_replace("\\n","\n",$data);
4 голосов
/ 13 марта 2012

почему бы и нет ...

echo str_replace('\\n', PHP_EOL, "few lines\nof text here,\nblah, blah! etc!");
1 голос
/ 16 июля 2010

Я извлекаю контент из БД, которая была очищена с помощью mysql_real_escape_string. Соответственно, символы новой строки теперь отображаются как "\ n"

Если вы ничего не сделали с необработанными данными, извлеченными из базы данных, то проблема заключается в том, что при вставке они дважды очищались.

C.

0 голосов
/ 16 июля 2010

Это может немного помочь:

echo ('test \ ntest');отображается как

test test

но echo ("test \ ntest");отображается как

тест

тест

...