Я извлекаю содержимое из базы данных, которая была дезинфицирована с помощью 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"); показывает как
контрольная работа
контрольная работа