Как повторить ввод текстовой области с разрывами строк?


Я использую текстовую область для отправки текста в свою базу данных.

Скриншот базы данных:

enter image description here

Когда я читаю из БД, он удаляет разрывы строк, как я могу сохранить их в $row['opmerkingen']?

enter image description here

 18
Author: Muiter, 2011-06-14

3 answers

При отображении текста используйте nl2br() чтобы преобразовать новые строки в теги <br/>, т.Е. Вместо <?php echo $row['text']; ?>, используйте <?php echo nl2br($row['text']); ?>.

По умолчанию браузеры отображают новые строки в виде пробелов, поэтому их необходимо преобразовать в теги <br/>.


Для тех, кто считает это полезным - пожалуйста, рассмотрите возможность использования white-space: pre-line, предложенного Эмилем Викстремом. Я больше не веб-парень и легко не могу это проверить, но Боаз говорит в комментариях, что он поддерживается всеми современными браузерами. Если да, то это должно быть предпочтительнее использовать nl2br().

 57
Author: binaryLV, 2015-10-16 10:29:52

Альтернативой nl2br является использование атрибута CSS пробел:

white-space: pre-line;
 20
Author: Emil Vikström, 2011-06-14 14:17:18

Я поставил следующее, но не работаю с одинарными кавычками.

echo $row['text'].'\n';

Поставьте двойные кавычки . Потом сработало.

<textarea rows="10" cols="62" style="white-space: pre-line;" wrap="hard">
 echo $row['text']."\n";
</textarea>

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

 3
Author: Sumith Harshan, 2013-05-21 13:02:37