将富 MarkDown 转换为纯文本

Convert rich MarkDown to plain text

如何将 rich Markdown 转换为纯文本? 因此它可以用于 Facebook OpenGraph 描述。

我用的是MarkdownSharp,好像没有这个功能。 在我要重新发明轮子之前,我想先在这里问一下。

非常感谢有关实施策略的任何提示!

例子

The Monorailcat
---------------
![Picture of a Lolcat](https://media1.giphy.com/media/c7goDcMPKjw6A/200_s.gif)
One of the earliest pictures of **monorail cat** found is from the website [catmas.com’s blog][1] section, dated from November 2, 2006. 
[1]: http://catmas.com/blog

应转换为:

The Monorailcat
One of the earliest pictures of monorail cat found is from the website catmas.com’s blog section, dated from November 2, 2006.

你有几种可能性。

  1. 如评论所述,您可以转换为 HTML,然后将 HTML 转换为纯文本。这可能是最可靠和一致的跨平台解决方案。

  2. 切换到可以在多种格式(包括您想要的格式)之间进行转换的库。 Pandoc 就是此类工具的一个示例。

  3. 使用输出 AST 的 Markdown 解析器。虽然此类解析器通常提供 HTML 渲染器(接受 AST 作为输入和输出 HTML),但您可以创建自己的渲染器来输出您想要的任何格式。

其实,原来Pandoc也是#3的例子。它恰好已经有一个现有的纯文本渲染器。当然,如果您正在寻找 C# 库,那么 Pandoc 可能无法满足您的需求。而且我不知道有任何满足该需求的 C# 库(参考实现使用正则表达式字符串替换,许多(大多数?)解析器都遵循该示例)。也就是说,我不熟悉 C# 中的任何 Markdown 库,这里不适合提出建议。但是,有一个冗长但不完整的解析器列表 here。你可能会在那里找到有用的东西。

有些库可以帮助您删除 markdown 语法,例如 removemarkdown or strip-markdown