Сохранять разрыв строки из TextArea при написании MySQL

Я использую textarea, чтобы пользователи могли вводить комментарии. Однако, если пользователи вводят новые строки, новые строки не отображаются, когда они выводятся. Есть ли способ сделать разрывы строк.

Любая идея, как сохранить разрывы строк?

Ответ 1

Два решения для этого:

  • Функция 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

Ответ 2

Вот что я использую

$textToStore = nl2br(htmlentities($inputText, ENT_QUOTES, 'UTF-8'));

$inputText - это текст, предоставленный либо формой, либо textarea. $textToStore - это возвращаемый текст из nl2br и htmlentities, который будет храниться в вашей базе данных. ENT_QUOTES преобразует как двойные, так и одинарные кавычки, поэтому у вас не будет проблем с ними.

Ответ 3

Получил свой собственный ответ: использование этой функции из данных из текстового поля решает проблему:

function mynl2br($text) { 
   return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />')); 
} 

Подробнее здесь: http://php.net/nl2br

Ответ 4

Я использую эти два шага метода для сохранения того же текста, который находится в textarea для хранения в mysql и при достижении времени я могу просто просто отобразить простой текст.....

шаг 1:

$status=$_POST['status'];<br/>
$textToStore = nl2br(htmlentities($status, ENT_QUOTES, 'UTF-8'));

В запросе введите $textToStore....

шаг 2:

написать код для выбранного запроса... и прямые значения эха....

Работает

Ответ 5

Это работает:

function getBreakText($t) {
    return strtr($t, array('\\r\\n' => '<br>', '\\r' => '<br>', '\\n' => '<br>'));
}

Ответ 6

function breakit($t) {
    return nl2br(htmlentities($t, ENT_QUOTES, 'UTF-8'));
}

это может вам помочь

передать текстовое поле

Ответ 7

почему 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);

вам, очевидно, понадобятся заголовки и, вероятно, больше полей, но это ваше текстовое поле, заботясь о