Preserve Line Breaks From TextArea When Writing To MySQL

前端 未结 7 2120
我在风中等你
我在风中等你 2020-11-22 12:25

I\'m using a textarea to enable users to input comments. However, if the users enters new lines, the new lines don\'t appear when they are outputted. Is there any way to m

相关标签:
7条回答
  • 2020-11-22 12:45

    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

    0 讨论(0)
  • 2020-11-22 12:45

    why make is sooooo hard people when it can be soooo easy :)

    //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);
    

    you will obviously need headers and likely have more fields, but this is your textarea take care of

    0 讨论(0)
  • 2020-11-22 12:46

    Two solutions for this:

    1. PHP function nl2br():

      e.g.,

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

      See: W3C Wiki - HTML/Elements/pre

    0 讨论(0)
  • 2020-11-22 12:54

    This works:

    function getBreakText($t) {
        return strtr($t, array('\\r\\n' => '<br>', '\\r' => '<br>', '\\n' => '<br>'));
    }
    
    0 讨论(0)
  • 2020-11-22 12:58
    function breakit($t) {
        return nl2br(htmlentities($t, ENT_QUOTES, 'UTF-8'));
    }
    

    this may help you

    pass the textarea wal

    0 讨论(0)
  • 2020-11-22 13:05

    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.

    0 讨论(0)
提交回复
热议问题