Csharp/C#教程:HTMLencode HTMLdecode分享


HTMLencode HTMLdecode

我有一个文本区域,我想将用户输入的文本存储在数据库中,其中html格式如段落,编号列表。 我正在使用HTMLencode和HTMLdecode。

我的代码示例如下:

string str1 = Server.HtmlEncode(TextBox1.Text); Response.Write(Server.HtmlDecode(str1)); 

如果用户输入带有2个段落的文本,则str1在段落之间显示字符 r n r n。 但是当它将它写入屏幕时,只需在第1段附加第2段。 虽然我正在解码它,为什么不打印2段?

简单的解决方案是:

 string str1 = Server.HtmlEncode(TextBox1.Text).Replace("rn", "
");

这假设您只关心获得正确的
标签。 如果你想要一个真正的格式化程序,你需要一个像Aaronaught建议的库。

这不是HtmlEncodeHtmlDecode所做的。 差远了。

这些方法用于“转义”HTML。 <变成<>变成> , 等等。 您可以使用这些来逃避用户输入的输入,以避免跨站点脚本攻击和相关问题。

如果您希望能够进行纯文本输入并将其转换为HTML,请考虑像Markdown这样的格式化工具(我相信Stack Overflow使用MarkdownSharp )。

如果您想要的只是换行符,则可以使用text.Replace("rn", "
")
,但处理更复杂的结构(如有序列表)很困难,并且已有现有工具可以处理它。

HTML无法将 r n识别为换行符。 将它们转换为“p”或“br”标签。

上述就是C#学习教程:HTMLencode HTMLdecode分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1017043.html

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐