将rich MarkDown转换为纯文本

本文关键字:文本 转换 rich MarkDown | 更新日期: 2023-09-27 18:28:03

如何将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.

将rich MarkDown转换为纯文本

您有几种可能性。

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

  2. 切换到可以在多种格式之间转换的库,包括您想要的格式。Pandoc就是这样一个工具的例子。

  3. 使用Markdown解析器输出AST。虽然这样的解析器通常提供HTML呈现器(接受AST作为输入并输出HTML),但您可以创建自己的呈现器,输出您想要的任何格式。

事实上,Pandoc也是#3的一个例子。它恰好已经有了一个现有的纯文本呈现器。当然,如果你正在寻找一个C#库,那么Pandoc可能无法满足你的需求。我不知道有任何C#库可以满足这一需求(参考实现使用正则表达式字符串替换,许多(大多数?)解析器都遵循了这个例子)。也就是说,我不熟悉C#中的任何Markdown库,这不是一个合适的推荐地方。然而,这里有一个很长但不完整的解析器列表。你可能会在那里找到有用的东西。

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