Как эхо вводить текстовую область с разрывами строк?

Я использую textarea для отправки текста в мою БД.

Снимок экрана с db:

enter image description here

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

enter image description here

Ответы

Ответ 1

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

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


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

Ответ 2

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

white-space: pre-line;

Ответ 3

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

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

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

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

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