Stackoverflows WMD系统 - 我的输入在哪里成为HTML?

时间:2009-02-06 06:31:06

标签: wmd

我在textarea的输入在什么阶段变成了这个原始文本,变成了HTML? 例如,假设我缩进了4个空格

like this

然后WMD Showdown.js会在我键入的这个textarea下正确呈现它。但是文本区域仍然包含

    like this

PHP服务器端是否负责将showdown.js所做的所有事情转换为永久性的SoF数据库中的HTML?

2 个答案:

答案 0 :(得分:8)

此处还有其他一些帖子,但基本上就是这样的。或者至少这是我在我的网站上使用WMD的方式;如果您有兴趣查看我的大规模杀伤性武器实施,请查看我的个人资料。

  1. 用户在客户端上输入Markdown,showdown.js在浏览器中实时运行(纯客户端JavaScript;没有AJAX或类似的东西),为用户提供预览。
  2. 然后当用户发布到服务器时,WMD发送Markdown(你必须配置WMD来执行此操作;默认情况下WMD发送HTML)。
  3. 运行showdown.js服务器端将Markdown转换为HTML。从理论上讲,您可以使用其他一些方法,但尝试在客户端上看到的服务器上进行相同的转换是有意义的,除了您想要在服务器端进行的任何HTML标记过滤。
  4. 如上所述,您需要进行适当的HTML标记过滤,以避免跨站点脚本(XSS)问题。这既重要又重要,所以要小心。
  5. 将Markdown和HTML保存在数据库中 - Markdown,因为如果用户想要编辑他们的帖子,您希望为他们提供Markdown和HTML,这样您就不必每次都将Markdown转换为HTML显示答案。
  6. 以下是一些相关帖子。

答案 1 :(得分:1)

首先,StackOverflow是基于ASP.NET构建的,但是基本上富文本框中的字符来回翻译。