如何在.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),但这仅转换客户端。
似乎正在普及的另一种实现是MarkdownDeep
这是C#和JavaScript的完整实现。 Nuget上的MarkdownHelper现在使用MarkdownDeep而不是MarkdownSharp。
我都使用过,MarkdownDeep似乎功能更完善,并且具有JavaScript版本非常适合快速客户端设置。
签出Markdown Sharp。它是由Stack Overflow开发而来的开源库,比markdown.net更加健壮/活跃。
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);