是否有适合在公共评论中使用的降价 PHP 实现?
基本上它应该只允许 markdown 语法的一个子集(粗体、斜体、链接、块引用、代码块和列表),并去除所有内联 HTML(或者可能转义它?)
我想一种选择是使用普通的降价解析器,并通过 HTML sanitiser 运行输出,但是有没有更好的方法来做到这一点..?
我们在站点的其余部分使用 PHP markdown Extra,因此我们已经不得不使用辅助解析器(非“Extra”版本,因为不需要脚注支持之类的东西)。它似乎也只解析更好文本并将*bold*
所有内容转义为<a href="etc">
,而不是生成<b>bold</b>
文本并尝试剥离我们不想要的位..
此外,在相关说明中,我们正在为“主”站点使用 WMD 控件,但对于评论,还有哪些其他选项?WMD 的 javascript 预览很好,但它需要与 PHP markdown 处理器相同的“中性”(它不能显示图像等,否则有人会提交并且他们的工作 markdown 将“中断”)
目前我的计划是使用 PHP-markdown -> HTML santiser 方法,并编辑 WMD 以从中删除图像/标题语法showdown.js
- 但似乎这已经做过无数次了。
基本上:
- PHP中是否有“安全”的降价实现?
- 是否有可以轻松禁用相同选项的 HTML/javascript 降价编辑器?
更新:我最终只是通过HTML Purifiermarkdown()
运行输出。
通过这种方式,Markdown 渲染与输出清理分开,这更简单(两个大部分未修改的代码库)更安全(您不会尝试同时进行渲染和清理),并且更灵活(您可以进行多次清理级别,比如对受信任内容的更宽松的配置,以及对公众评论更严格的版本)