c# - 如何将 Markdown (WMD)文本转换为纯文本

标签 c# html markdown

我在我的数据库中为我的问答网站保存了 markdown 文本和 html 版本的文本。

当用户浏览问题时,他们正在查看 markdown 片段。他们应该只查看纯文本,就像在 stackoverflow 上浏览问题时一样,没有显示 Markdown 文本或 html 文本。

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

最佳答案

StackOverflow 上的问题是以 HTML 而非纯文本格式查看的。使用 Jeff Atwood 的 HTML sanitizer 对其进行 sanitizer 然后使用 MarkDownSharp 转换为 HTML .

asked this question几周前,我最终找到的解决方案是将原始 Markdown 存储在数据库中,然后在向访问者显示时对其进行转换。

这是我清理 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,我认为您必须删除 <b><strong> HtmlSanitizer 和 MarkdownSharp 中的标签。这样做的原因是您需要清理原始 html 标签和 markdown 标签。

关于c# - 如何将 Markdown (WMD)文本转换为纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191732/

相关文章:

c# - 如何在界面中使用界面

c# - Task.WhenAll 是否等待所有任务以防出现异常

c# - 用于搜索单词并返回下一个的正则表达式或函数

html - 如何使用 HTML 和 CSS 创建流畅的标题?

markdown - 如何使用 Markdown 语法将字母从小写更改为大写?

markdown - Markdown 文件的客户端渲染

c# - 如何联合两个数据表并对结果进行排序

html - 如何使 table 标签和 div 标签的高度行为相同?

angularjs - 输入类型 ="date"给出先前日期作为 AngularJS ng-model 的结果。为什么?

r - 如何在 markdown/pandoc 中移动引用书目