我正在尝试实现StackOverflow上使用的WMD编辑器来创建一些基本的Wiki风格的功能。我已经到了保存到数据库的时间点,但我不确定应该保存什么。

如果我保存生成的HTML,那么我可以正确地检索和显示它,但在重新编辑时,我面临的是编辑HTML,而不是Markdown。但是,如果我保存Markdown,我看不到任何方法将其转换回HTML以显示,并且查看StackOverflow它会发送浏览器HTML。

我猜我不需要同时保存两者,所以我错过了什么简单的事情?

有帮助吗?

解决方案

绝对保存用户输入的Markdown代码。

然后你需要一个Markdown转换器,将其转换为HTML以显示它。

你会在
中找到一堆这些 http://en.wikipedia.org/wiki/Markdown#Converters
和结果 http://markdown.infogami.com/

我投票反对在你的情况下使用JS。似乎有一个 .NET实施但我不能告诉你它有多好

在渲染页面时,您必须将Markdown代码传递给上述转换器,然后输出返回的HTML。

如果性能问题,您可能还会考虑在数据库中同时保存Markdown代码(以便以后编辑)和HTML代码(用于显示)。这样它只会被转换一次。

其他提示

我建议将准确输入的文本保存到数据库中,因此编辑将与原始markdown或HTML一起使用。

当您检索要显示的文本时,您将在服务器端解析它并在必要时转换为HTML

[编辑] 评论时: 如果我正确理解你的问题,你似乎已经有了解析和转换为HTML的方法。在这里,您将讨论生成的HTML。

  

如果我保存生成的HTML,那么我可以正确检索和显示它,但在重新编辑时,我面临着编辑HTML,而不是Markdown

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top