我在textarea的输入在哪个阶段从这个原始文本变为HTML?例如,假设我缩进了4个空格
like this
然后WMD Showdown.js将在我键入的textarea下正确呈现它.但是文本区域仍然包含字面意思
like this
那么PHP服务器端是否负责将showdown.js所做的所有相同内容转换为SoF数据库中的永久性HTML?
这里有一些关于此的其他帖子,但基本上它就是这样的.或者至少这是我在我的网站上使用WMD的方式; 如果您有兴趣查看我的WMD实施,请查看我的个人资料.
用户在客户端上输入Markdown,并showdown.js
在浏览器中实时运行(纯客户端JavaScript;没有AJAX或类似的东西),以便为用户提供预览.
然后当用户发布到服务器时,WMD发送Markdown(你必须配置WMD来执行此操作;默认情况下WMD发送HTML).
运行showdown.js
服务器端以将Markdown转换为HTML.从理论上讲,您可以使用其他一些方法,但尝试在用户在客户端上看到的服务器上获得相同的转换是有意义的,除了您想要在服务器端进行的任何HTML标记过滤.
如上所述,您需要进行适当的HTML标记过滤以避免跨站点脚本(XSS)问题.这既重要又重要,所以要小心.
将Markdown和HTML保存在数据库中 - Markdown,因为如果用户想要编辑他们的帖子,您希望为他们提供Markdown和HTML,这样您就不必每次显示答案时都将Markdown转换为HTML.
这是一些相关的帖子.
将HTML转换回Markdown以便在wmd中进行编辑:告诉如何配置WMD以将Markdown发送到服务器而不是HTML.
Stack Overflow上允许哪些HTML标记?:用于考虑HTML标记过滤.