HTMLencode HTMLdecode

后端 未结 3 1729

I have a text area and I want to store the text entered by user in database with html formatting like paragraph break, numbered list. I am using HTMLencode and HTMLdecode fo

相关标签:
3条回答
  • 2021-01-13 14:51

    HTML doesn't recognize \r\n as a line break. Convert them to "p" or "br" tags.

    0 讨论(0)
  • 2021-01-13 14:54

    That's not what HtmlEncode and HtmlDecode do. Not even close.

    Those methods are for "escaping" HTML. < becomes &lt;, > becomes &gt;, and so on. You use these to escape user entered input in order to avoid Cross-Site Scripting attacks and related issues.

    If you want to be able to take plain-text input and transform it into HTML, consider a formatting tool like Markdown (I believe that Stack Overflow uses MarkdownSharp).

    If all you want are line breaks, you can use text.Replace("\r\n", "<br/>"), but handling more complex structures like ordered lists is difficult, and there are already existing tools to handle it.

    0 讨论(0)
  • 2021-01-13 14:56

    The simple solution would be to do:

    string str1 = Server.HtmlEncode(TextBox1.Text).Replace("\r\n", "<br />");
    

    This is assuming that you only care about getting the right <br /> tags in place. If you want a real formatter you will need a library like Aaronaught suggested.

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