从数据库中获取HTML代码作为普通文本

时间:2016-08-07 19:33:03

标签: java html

我有一个用户发布信息的程序。他们发布的信息被插入到数据库中。现在,当用户发布一些HTML代码时,我遇到了问题。从数据库中提取时,代码充当HTML而不是普通文本。

如果用户发布<input type="text",则会在数据库中很好地插入,但在获取时会出现文本框。如果用户将双引号打开<input type="text,则整个系统崩溃。

我不知道该怎么办。请帮我解决一下这个。感谢。

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决这个问题

1,您可以限制用户在文本区域中输入HTML标记: 查看像TinyMCE这样的自由文本编辑器javascript插件,它允许用户输入文本并阻止他们提交HTML标签。

2)您可以允许用户在内容中输入HTML标记,但在保留到数据库之前,使用正则表达式从输出中删除/替换/删除标记

3)如果您正在使用jquery,则在提交之前使用 $(&#34; textarea&#34;)。text()获取textarea值 - 这将自动剥离标记并且只需要用户输入的文本

4)如果您可以自由地允许用户输入任何内容并将其保存到数据库中。然后在显示特殊HTML字符的HTML编码之前,或者您可以说转义HTML特殊字符(例如,&#39;&lt;&#39;应该被&#34;&amp; lt;&#34;)取代。这将使HTML文本框的显示与用户输入的完全一样。[实例:Stackoverflow&#39; s回答textarea]