在 .NET 中将 Markdown 转换为 HTML
如何在 .NET 中将 markdown 转换为 html?
var markdown = "Some **bold** text";
var output = ConvertMarkdownToHtml(markdown)
// Output: <p>Some <strong>bold</strong> text</p>
我将 Markdown 文本存储在数据库中,在显示时需要将其转换为 html。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
TL;DR:现在是 2021 年,使用 markdig
我刚刚遇到了这些问题,答案都很旧了。 看来基于 commonmark 的实现是现在建议的方法。 可以在此处找到多种语言(包括 C#)的实现
TL;DR: now it's 2021 use markdig
I just came across this questions and the answers are all quite old. It appears that implementations based on commonmark are the suggested way to go now. Implementations for lots of languages (including C#) can be found here
另一个似乎正在取得进展的实现是 MarkdownDeep
这是 C# 和 JavaScript 的完整实现。 Nuget 上的 MarkdownHelper 现在使用 MarkdownDeep 而不是 MarkdownSharp 。
我都使用过,MarkdownDeep 似乎功能更全面,并且 JavaScript 版本非常适合快速客户端设置。
Another implementation that seems to be gaining ground is MarkdownDeep
This is a full implementation for both C# and JavaScript. The MarkdownHelper on Nuget is using MarkdownDeep now instead of MarkdownSharp.
I've used both and MarkdownDeep seems to be more fully functional and having the JavaScript version is great for quick client side setups.
该网站使用的是 Markdown Sharp,可在 NuGet。
Markdown Sharp is what the site uses and is available on NuGet.
请查看 Markdown Sharp。 它是 Stack Overflow 开发的开源库,比 markdown.net 更强大/更活跃。
Check out Markdown Sharp. It's the open source library that resulted from the development of Stack Overflow and is much more robust/actively developed than markdown.net.
Markdown Sharp
Markdown Sharp 在代码方面也没有那么糟糕,正如 John Leidegren 指出的那样,只是注释掉正则表达式或管理复杂的项目并不那么容易,在最干净的 OOP 中获胜。 它绝对非常快并且得到良好的支持。 我还没有找到基于标记解析器的方法。
这是一个例子:
Markdown Sharp
Markdown Sharp isn't that bad code-wise either as John Leidegren noted, it's just not that easy to comment-out regular expressions or manage complex projects, w in in cleanest-OOP. It is definitely very fast and well-supported. I haven't found a Markup-parser based approach yet.
Here is an example: