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