douyi2798 2014-12-03 14:41
浏览 103
已采纳

保留SQL插入的换行符 - PHP

I have a textarea that is submitted via post. Before inserting it I am doing this:

mysql_real_escape_string($notes)

And I am outputting the retrieved record with:

stripslashes($notes)

However when I do the line breaks are removed and I get one giant paragraph.

What is the proper method to store a textarea with linebreaks and output the retrieved data?

Not sure if it matters but I am inserting to a Mssql database.

  • 写回答

1条回答 默认 最新

  • dongshuo1856 2014-12-03 14:49
    关注

    stripslashes is definately not the way to output to html, to escape untrusted input, use htmlspecialchars.

    Best way is to make use of white-space css rule:

    <div style="white-space: pre-wrap"><?php echo htmlspecialchars($notes) ?></div>
    

    If you see extra slashes on output, you have wrong data in database. Fix that, not the output.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?