php - 如何禁止所有使用 markdown 的 HTML(PHP 和 JS)?

标签 php javascript html markdown

我正在使用 PHP markdown 库:http://michelf.com/projects/php-markdown/和 Javascript markdown 库:http://attacklab.net/showdown/

我想禁止所有 HTML,markdown 的两个版本似乎都允许它不分青红皂白。我的第一次尝试只是在输入 Markdown 之前转义所有 html 实体。然而,这也逃脱了 <hyperlink><email>语法,非常有用。

我想转义所有 HTML(不是删除)但保留所有 markdown 语法。

最佳答案

你有两个选择。

首先,您实际上可以关心用户提交的 HTML 并对其采取一些措施。尝试 lib_filter由 Cal Henderson(因 Flickr 成名)或更重量级的东西,如 HTMLPurifier .

其次,如果您真的只想中和所有 HTML 但保留特殊语法,请使用 htmlspecialchars然后撤消使用正则表达式查找的确切字符串的转换。那可能有点多毛。 ;)

是的,这些都是 PHP 实现,而不是 Javascript。当用户暂时停止输入时,对专用预览生成脚本的 ajax 调用应该足够快。或者让他们点击一个按钮。

关于php - 如何禁止所有使用 markdown 的 HTML(PHP 和 JS)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3019215/

相关文章:

php - Web 开发发展太快了吗?

javascript - Aurelia - 一种将分隔符添加到多级下拉菜单中的方法

javascript - 在 React Native 中使用 onPress 调用两个函数

css - 如何使用 CSS 在顶部显示最后一个 div?

php - PHP中的对象以什么顺序销毁?

ubuntu - nginx php-fpm 和 ubuntu 的随机 502 网关错误

javascript - 这个 php json_encode 的 Node.js 等价物是什么?

javascript - 通过递归添加它们的值来合并 2 个 javascript 对象

javascript - 如何使用 JavaScript 在 HTML 中的 textArea 上施加最大长度

iOS11 上的 HTML 选择输入错误