замените \ n на новый код символа строки

Я извлекаю содержимое из базы данных, которая была дезинфицирована с помощью mysql_real_escape_string. Соответственно новые символы строк теперь отображаются как «\ n». Проблема в том, что этот контент отображается пользователям внутри тега <pre>, поэтому я не могу заменить \ n на <br />, например.

Я полагаю, что я мог бы заменить \ n на фактический код символа utf8, прежде чем вставлять результат в <pre>.

Может помогать здесь? Не использовать mysql_real_escape_string на самом деле не вариант из-за политики безопасности.

Благодарю.

 echo '<pre>'.str_replace('\n', "\n", $string).'</pre>'; 
 str_replace("\\n","\n",$data); 

Я извлекаю содержимое из базы данных, которая была дезинфицирована с помощью mysql_real_escape_string. Соответственно, новые символы строк теперь отображаются как «\ n»

Если вы ничего не сделали для необработанных данных, извлеченных из базы данных, то птоблем состоит в том, что он дважды был «дезинфицирован» при вставке.

C.

почему нет …

 echo str_replace('\\n', PHP_EOL, "few lines\nof text here,\nblah, blah! etc!"); 

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

эхо ( 'Тест \ NTest'); показывает как

тестовый тест

но echo ("test \ ntest"); показывает как

контрольная работа

контрольная работа