2010-07-07 118 views
2

我在我的数据库中为我的Q &网站保存了降价文本和html版本的文本。如何将降价(WMD)文本转换为纯文本

当用户浏览问题时,他们正在查看降价片段。他们应该只能查看纯文本,就像在浏览器上显示标题文本或html文本时的问题一样。

有没有办法将markdown或html文本转换为纯文本?

+1

这似乎从我的研究,你只需要存储的降价在数据库中,然后你清理所有输出。这也将减少您的存储需求。 – 2010-07-07 03:47:47

+0

只是出于好奇 - 如果您不打算向最终用户显示HTML,为什么要从降价产生它,为什么要存储它? – 2010-07-07 03:48:15

+0

@Franci,在我的回答中看到我的评论。我“认为”他指的是在预览中没有HTML(注意他如何提到“浏览这个问题” – 2010-07-07 03:51:13

回答

3

有关StackOverflow的疑问正在HTML中查看,而不是纯文本。他们使用Jeff Atwood的HTML sanitizer进行消毒,然后使用MarkDownSharp转换为HTML。

asked this question几个星期前,我最终的解决方案是将原始降价存储在数据库中,然后将其显示给访问者时进行转换。

这里是我如何消毒我降价

 ''# Because some people can be real ass holes and try to submit bad data (scripts and crap) 
     ''# we have to modify the "About" content in order to sanitize it. At the same time, we 
     ''# transform the Markdown into valid HTML 
     user.About = Trim(Utilities.HtmlSanitizer.Sanitize(MarkDownSharp.Transform(user.About))) 

由于MarkdownSharp是开源的,我敢肯定,你可以深入到源代码,并删除你不希望看到在附加标签预览。

编辑:

因为在我的例子中,我将降价前消毒的HTML,我想你将不得不删除这两个HtmlSanitizer和MarkdownSharp的<b><strong>标签。原因是你需要清理原始的html标签和markdown标签。

+0

在这个问题中,我把“你好”字加粗了......如果你可以回去浏览这个问题“Hello”不会是粗体的,这就是我需要的 – Luke101 2010-07-07 03:44:09

+0

你可以通过在标记中“消毒”'标签 – 2010-07-07 03:45:31

+0

我可以问你为什么要使用Markdown只显示纯文本?为什么不直接使用TextArea? – 2010-07-07 03:45:58