Подтвердить что ты не робот

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

Как сохранить введенные пользователем разрывы строк из HTML-элемента <textarea> в базе данных?
Это всегда удаляет разрывы строк.

4b9b3361

Ответ 1

Чистое решение CSS, НЕ специфичное для php
Вобычных случаях HTML-элемент TextArea сохраняет пустое пространство в базе данных.
Проблема возникает при попытке отобразить \n в веб-браузере, что приведет к ошибке.

Для отображения \n в веб-браузере используйте:

<p style="white-space: pre-line">multi-line text</p>

Ответ 2

При отображении содержимого вам необходимо преобразовать разрывы строк в теги <br />, иначе веб-браузер не отобразит их. Вероятно, поэтому вы считаете, что они не спасены. Если вы используете PHP, используйте nl2br() для этого. На других языках вы можете заменить строку, заменив все вхождения "\n" на "<br />".

Ответ 3

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

Ответ 4

Я только что научился использовать функцию php nl2br, и она отлично работает для меня. Я использую его, чтобы настроить, как мои пользователи получают электронное письмо при отправке от другого пользователя.

Ответ 5

Я знаю по опыту, что текстовые области браузера менее корректны, чем хотелось бы, особенно в отношении разрывов строк.

Вы можете проверить, сможет ли javascript опросить текстовую область и найти разрывы строк до отправки текста на сервер и, таким образом, отправить данные более хорошо отформатированным способом. Но объем отладки javascript, необходимый для выполнения этой работы в нескольких браузерах, вероятно, не стоит усилий.

Возможно, вы должны сказать, что формат, который вы пытаетесь захватить ваши данные. Может быть лучший способ получить данные, чем отслеживать разрывы строк - хотя разрывы строк могут показаться легкими для захвата при вводе пользователя.

Ответ 6

Я заметил, что прерывистое содержимое сохраняется нормально, если textarea находится внутри html-формы. Но если я использую textarea без какой-либо формы и пытаюсь редактировать длинный текст в ней, вставляйте разрывы строк и сохраняем содержимое через ajax, он сохраняется как объединенный текст в базу данных

Ответ 7

Оберните текст внутри <pre></pre> и добавьте в текст css: white-space: pre-line