11

如何将丰富的 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.
4

2 回答 2

8

你有几种可能性。

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

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

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

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

于 2015-12-28T01:53:57.217 回答
2

存在一些可以帮助您删除 markdown 语法的库,例如removemarkdownstrip-markdown

于 2019-08-07T14:50:40.210 回答