У меня есть проблема: поэтому у меня есть данные, которые выходят из базы данных и хранятся в текстовой области. Когда пользователь изменяет данные в текстовой области, содержимое отправляется в javascript и через AJAX (POST для PHP-скрипта) база данных обновляется. Это работает нормально, пока пользователь не начнет добавлять новые строки. Затем javascript преобразует это в \ n-символ и таким образом он сохраняется в базе данных как \ n.
Я хочу, чтобы в моей базе данных были настоящие символы новой строки, а не символы \ n новой строки. Есть ли способ, которым я могу использовать php, чтобы заменить \ n фактической новой строкой (НЕ br)? Я попытался изменить поле базы данных после редактирования с помощью char (10), но по какой-то причине это не работает в скрипте, кроме случаев, когда я делаю это вручную в phpmyadmin?
При редактировании с полным запросом php, новая строка в текстовой области правильно сохраняется как char (10) в mysql, а не как \ n.
Кто-нибудь понял?
Храните его как есть, но сначала спасайтесь real_escape_string
real_escape_string
преобразует символ новой строки в 4-символьную строку ‘\ n \ r’
$text = $mysqli->real_escape_string($text);
использование [nl2br][1]
функция для замены /n
с новой строкой
Вставьте разрывы строк, где в строке встречаются символы новой строки (\ n):
<?php
echo nl2br("One line.\nAnother line.");
?>
Браузер выводит код выше:
One line.
Another line.