将带有html标记的文本保存到数据库

时间:2013-05-06 14:49:48

标签: asp.net html asp.net-mvc database asp.net-mvc-3

我有文本区域,用户可以在其中输入一些说明。我需要将此输入与换行符保存到数据库。用户也可以输入一些html标签,但这个标签应该是纯文本。

例如,用户输入以下文字:

a b(click enter)   
c d <p>f</p>

将此文本保存到数据库的最佳方法是什么。

1. "a b<br/>c d <p>f</p>"
2. "a b \r\n c d <p>f</p>"
3. "a b &lt;br/&gt;c d &lt;p&gt;f&lt;/p&gt; "

它将显示为非HTML。

1 个答案:

答案 0 :(得分:0)

这是关于转义字符的讨论。简单的答案是:

http://msdn.microsoft.com/en-us/library/w3te6wfz.aspx

如果您通过带有Javascript的网络服务器保存此内容,则可能需要使用自己的编码器:

HTML-encoding lost when attribute read from input field

围绕编码的更大对话非常重要,您可以在哪里使用编码器和解码器?你会打HTML吗,或者你也应该包括JS。如果您有用户向您的数据库添加值,我会这样做。

此外,您仍然希望根据将数据添加到数据库的方式来清理输入,以防止SQLInjection。

HTH