Сохранять разрывы строк в TextArea при записи в MySQL
105
Я использую текстовое поле, чтобы пользователи могли вводить комментарии. Однако, если пользователь вводит новые строки, новые строки не появляются при выводе. Есть ли способ сохранить разрывы строк.
Я только что отключил htmlawed, и кажется, что это не имеет никакого отношения к разрывам строк, разрывы строк по-прежнему не отображаются. Поэтому я просто пишу данные textarea непосредственно в mysql, и они не отображаются, когда я эхо-данные из базы данных mysql.
Hirvesh
Я также просмотрел таблицу mysql с помощью phpmyadmin и увидел поле комментария. Теги <br/> не сохраняются,
Хирвеш
Я делаю систему комментариев в стиле Facebook, поэтому я не хочу, чтобы она была wysiwyg. Нет идей, почему разрывы строк не сохраняются?
$inputTextэто текст, предоставляемый формой или текстовым полем.
$textToStore- это текст, возвращаемый из nl2brи htmlentities, который будет сохранен в вашей базе данных.
ENT_QUOTESпреобразует как двойные, так и одинарные кавычки, поэтому у вас не будет проблем с ними.
Я использую эти два шага метода для сохранения того же текста, который находится в textarea, для хранения в mysql, и во время получения я также могу просто отображать простой текст ...
почему делать это оооочень сложно, когда это может быть оооочень просто :)
//here is the pull from the form
$your_form_text = $_POST['your_form_text'];//line 1 fixes the line breaks - line 2 the slashes
$your_form_text = nl2br($your_form_text);
$your_form_text = stripslashes($your_form_text);//email away
$message ="Comments: $your_form_text";
mail("destination_email@whatever.com","Website Form Submission", $message, $headers);
вам, очевидно, понадобятся заголовки и, вероятно, будет больше полей, но это ваше текстовое поле, о котором нужно позаботиться
Просто попробуйте .... Отправьте сообщение по электронной почте или SQL .... Картофель картофель ..... Попробуйте запустить строки и исправить проблему .... Без кучи строк беспорядочного кода, который иногда работает или не работает .... :)
Ответы:
Два решения для этого:
Функция PHP
nl2br()
:например,
Оберните ввод в
<pre></pre>
теги.См .: W3C Wiki - HTML / Elements / pre
источник
nl2br()
:)Вот что я использую
$inputText
это текст, предоставляемый формой или текстовым полем.$textToStore
- это текст, возвращаемый изnl2br
иhtmlentities
, который будет сохранен в вашей базе данных.ENT_QUOTES
преобразует как двойные, так и одинарные кавычки, поэтому у вас не будет проблем с ними.источник
Получил свой ответ: использование этой функции из данных из текстового поля решает проблему:
Подробнее здесь: http://php.net/nl2br
источник
Я использую эти два шага метода для сохранения того же текста, который находится в textarea, для хранения в mysql, и во время получения я также могу просто отображать простой текст ...
шаг 1:
В запросе введите
$textToStore
....шаг 2:
Оно работает
источник
Это работает:
источник
это может вам помочь
передать текстовое поле
источник
почему делать это оооочень сложно, когда это может быть оооочень просто :)
вам, очевидно, понадобятся заголовки и, вероятно, будет больше полей, но это ваше текстовое поле, о котором нужно позаботиться
источник