Preserve Line Breaks From TextArea When Writing To MySQL Preserve Line Breaks From TextArea When Writing To MySQL mysql mysql

Preserve Line Breaks From TextArea When Writing To MySQL


Two solutions for this:

  1. PHP function nl2br():

    e.g.,

    echo nl2br("This\r\nis\n\ra\nstring\r");// will outputThis<br />is<br />a<br />string<br />
  2. Wrap the input in <pre></pre> tags.

    See: W3C Wiki - HTML/Elements/pre


Here is what I use

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

$inputText is the text provided by either the form or textarea.$textToStore is the returned text from nl2br and htmlentities, to be stored in your database.ENT_QUOTES will convert both double and single quotes, so you'll have no trouble with those.


Got my own answer: Using this function from the data from the textarea solves the problem:

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

More here: http://php.net/nl2br