请求一个同时支持markdown编辑器和富文本编辑器方案如何实现比较好?

我的项目中原来写文章使用的是富文本编辑器,现在想加入markdown编辑器,在用户发表文章的时候可以选择编辑器进行编辑。这样就涉及到一个问题,如果是对于已经使用bbcode发表的文章来说,进行编辑,假如允许用户编辑的时候也可以切换编辑器,那么就要写一套bbcode 和 markdown 语法互转的程序,看了一下bbcode 和 markdown 编辑器中的语法没法完全对的上,如果硬写的话,需要特别熟悉bbcode 中的语法和准确的正则,以及markdown 中的语法和准确的正则,感觉实现难度很大.

参考了一下CSDN 和 稀土掘进网, 发现他们也是支持富文本 和 markdown 编辑器的,但是在编辑文章的时候,如果切换,并不是将文章进行 富文本和 markdown互转, 而是新建了一篇文章,也就说,它并不支持互转,用哪个编辑器保存, 提交的数据中有不同的参数进行标识,而且似乎用了两个字段记录不同编辑器下的内容,比如
"html_content","markdown_content",在解析文章的时候大概也是根据不同的编辑器进行不同的解析.
请教大神们如何处理较好?如果互转可行性如何?

阅读 1.1k
2 个回答

个人觉得没必要做所谓的“互转”,Markdown 并不排斥你直接编写 HTML 代码。

换句话说,你本来就可以直接在 Markdown 里面写 HTML。不过从安全考虑,你需要过滤掉一些有风险的标签和属性,来避免 XSS。

至于用户编辑,都认为他写的是 Markdown 就好了,输出的时候始终使用 Markdown 渲染器去处理。


一些简单的 HTML 测试:这段文本 就是使用的 HTML

<b style="font-size: 22px;color:red;">这段文本</b>

<kbd>HTML</kbd>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进