我在一个项目上使用wmd markdown编辑器并有一个问题:
当我发布包含markdown文本区域的表单时,它(如预期的那样)将html发布到服务器.但是,说服务器端验证失败了,我需要发回用户来编辑他们的条目,无论如何只用markdown而不是html重新填充textarea?因为我已经设置了,服务器只能访问帖子数据(以html的形式),所以我似乎无法想到这样做的方法.有任何想法吗?优选地,基于非JavaScript的解决方案.
更新:我发现了一个名为markdownify的html to markdown转换器.我想这可能是向用户显示降价的最佳解决方案......欢迎任何更好的选择!
更新2:我在SO上发现了这篇文章,我猜有一个选项可以将数据作为markdown而不是html发送到服务器.简单地将数据存储为数据库中的降价是否有任何缺点?将它显示回用户(编辑器之外)怎么样?也许最好将两个版本(html和markdown)发布到服务器上......
解决:我可以简单地使用php markdown将markdown转换为html服务器端.
我建议您只需将文本发送并存储为 Markdown 即可。这似乎是你已经决定的。IMO,将文本存储为 Markdown 会更好,因为您可以安全地删除所有 HTML 标签,而不必担心格式丢失 - 这使您的代码更安全,因为使用 XSS 攻击会更困难(尽管仍然有可能) - 我只是说这部分会更安全)。