Я использую textarea, чтобы пользователи могли вводить комментарии. Однако, если пользователи вводят новые строки, новые строки не отображаются, когда они выводятся. Есть ли способ сделать разрывы строк.
Любая идея, как сохранить разрывы строк?
Я использую textarea, чтобы пользователи могли вводить комментарии. Однако, если пользователи вводят новые строки, новые строки не отображаются, когда они выводятся. Есть ли способ сделать разрывы строк.
Любая идея, как сохранить разрывы строк?
Два решения для этого:
Функция PHP nl2br()
:
например.,
echo nl2br("This\r\nis\n\ra\nstring\r");
// will output
This<br />
is<br />
a<br />
string<br />
Оберните ввод тегами <pre></pre>
.
Смотрите: W3C Wiki - HTML/Elements/pre
Вот что я использую
$textToStore = nl2br(htmlentities($inputText, ENT_QUOTES, 'UTF-8'));
$inputText
- это текст, предоставленный либо формой, либо textarea.
$textToStore
- это возвращаемый текст из nl2br
и htmlentities
, который будет храниться в вашей базе данных.
ENT_QUOTES
преобразует как двойные, так и одинарные кавычки, поэтому у вас не будет проблем с ними.
Получил свой собственный ответ: использование этой функции из данных из текстового поля решает проблему:
function mynl2br($text) {
return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />'));
}
Подробнее здесь: http://php.net/nl2br
Я использую эти два шага метода для сохранения того же текста, который находится в textarea для хранения в mysql и при достижении времени я могу просто просто отобразить простой текст.....
шаг 1:
$status=$_POST['status'];<br/>
$textToStore = nl2br(htmlentities($status, ENT_QUOTES, 'UTF-8'));
В запросе введите $textToStore
....
шаг 2:
написать код для выбранного запроса... и прямые значения эха....
Работает
Это работает:
function getBreakText($t) {
return strtr($t, array('\\r\\n' => '<br>', '\\r' => '<br>', '\\n' => '<br>'));
}
function breakit($t) {
return nl2br(htmlentities($t, ENT_QUOTES, 'UTF-8'));
}
это может вам помочь
передать текстовое поле
почему make является sooooo трудными людьми, когда это может быть так просто:)
//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("[email protected]", "Website Form Submission", $message, $headers);
вам, очевидно, понадобятся заголовки и, вероятно, больше полей, но это ваше текстовое поле, заботясь о