dqe55175 2013-07-10 04:12
浏览 99
已采纳

如何在textarea和数据库之间保留换行符?

I am storing the user input in a text area into a database by using nl2br().<br/> Now the problem is that I do not want to show the "br" tags when I show this input in a text area later but as a new line.<br/> I was using str_replace but this seems to add a new line each time I get back and forth. eg. user enters

Hello
World

It gets stored as

Hello<br />World 

fine with me. but when I display it again in the text area I get (after str_replace..ing the br tags with " ")

Hello

World  //which if i submit gives me Hello<br /><br />World

Is there any way to achieve what I want to do over here?

  • 写回答

2条回答 默认 最新

  • douchenchepan6465 2013-07-10 04:15
    关注

    Don't store it with nl2br. You should only store the raw data that is posted. If you want to update it for display, use nl2br at that time.

    if ($storing) {
        $dbstmt->execute($_POST['textarea-value']);
    }
    else {
        $textareaValue = $db->query($select);
        echo "<div>" . nl2br(htmlspecialchars($textareaValue)) . "</div>";
        echo "<textarea>" . htmlspecialchars($textareaValue) . "</textarea>";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?