将Markdown转换为.NET中的HTML

问题描述 投票:6回答:4

如何在.NET中将markdown转换为html?

var markdown = "Some **bold** text";
var output = ConvertMarkdownToHtml(markdown)
// Output: <p>Some <strong>bold</strong> text</p>

我将Markdown文本存储在数据库中,显示时需要将其转换为html。

我知道StackOverflow的WMD Editor(现在为PageDown),但这仅转换客户端。

c# html .net markdown
4个回答
3
投票

Markdown.NET

我相信这是该站点在某些时候使用的。


编辑

Markdown Sharp是网站现在使用的。


13
投票

似乎正在普及的另一种实现是MarkdownDeep

这是C#和JavaScript的完整实现。 Nuget上的MarkdownHelper现在使用MarkdownDeep而不是MarkdownSharp。

我都使用过,MarkdownDeep似乎功能更完善,并且具有JavaScript版本非常适合快速客户端设置。


3
投票

签出Markdown Sharp。它是由Stack Overflow开发而来的开源库,比markdown.net更加健壮/活跃。


0
投票

Markdown Sharp

Markdown Sharp也不像John Leidegren所指出的那样在代码方面很糟糕,注释掉正则表达式或管理最干净的OOP中的复杂项目并不是那么容易。它绝对是非常快速且得到良好支持的。我还没有找到基于标记解析器的方法。这是一个例子:

        pattern = string.Format(@"
            (?:
                (?<=\n\n)           # Starting after a blank line
                |                   # or
                \A\n?               # the beginning of the doc
            )
            (                       # save in $1
                [ ]{{0, {0}}}
                <(hr)               # start tag = $2
                \b                  # word break
                ([^<>])*?           #
                /?>                 # the matching end tag
                [ \t]*
                (?=\n{{2,}}|\Z)     # followed by a blank line or end of document
            )", tabWidth - 1);
        text = Regex.Replace(text, pattern, new MatchEvaluator(HtmlEvaluator), RegexOptions.IgnorePatternWhitespace);
© www.soinside.com 2019 - 2024. All rights reserved.