我在我的Q& A网站的数据库中保存了markdown文本和html版本的文本。
当用户浏览问题时,他们正在查看降价的片段。他们应该只查看纯文本,就像在stackoverflow上浏览问题时一样,没有显示降价文本或html文本。
有没有办法将markdown或html文本转换为纯文本?
答案 0 :(得分:3)
有关StackOverflow的问题正在HTML中查看,而不是纯文本。他们使用Jeff Atwood的HTML sanitizer进行消毒,然后使用MarkDownSharp转换为HTML。
几个星期前我asked this question,我最终得到的解决方案是将原始降价存储在数据库中,然后在向访问者显示时对其进行转换。以下是我如何消毒我的Markdown
''# 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是开源的,我相信您可以深入了解源代码并删除您不希望在预览中看到的其他标记。
由于在我的示例中我在转换markdown之前清理HTML,我认为您必须删除HtmlSanitizer和MarkdownSharp中的<b>
或<strong>
标记。原因是你需要清理原始的html标签和降价标签。
答案 1 :(得分:0)
另一种解决方案是使用markdown XSLT文件。