我正在用 PHP 编写评论解析函数。
由于BBCode不是真正的标记语言,所以我一直不喜欢它的写作风格。
所以我让访问者能够在评论表单中使用基本的 HTML 代码。
发布时,PHP 将检查不允许和无效的标签/属性,并替换或删除它们。
我相信它的工作和输出与 BBCode 完全相同。
如果这是真的,为什么会有BBCode? BBcode 与 HTML 相比有什么优势吗?
更新
单色回答
If you're confident that your HTML filter is safe enough, you should be fine though
好吧,我对自己编写过滤器没有信心,但是有一些顶级过滤器,如 PHP Simple HTML DOM Parser、HTML Purifier、htmLawed...
BBCode 由 UBB 开发,目前仍在广泛使用,例如 phpBB。
UBB/phpBB 的开发人员是否对自己编写完美的 HTML 过滤器的技能没有信心? (我猜不是)
此外,就像 StackOverflow 使用的 Markdown 一样……如果 HTML+Parser 可以完成这项工作,为什么还要发明另一种“语言”? (除了节省一些位...)
最佳答案
它的主要优点是防止不需要的代码注入(inject)。这就是为什么我会使用 BBCode 或 Markdown 之类的东西。
至少你应该使用允许的 HTML 标签的白名单而不是黑名单。
关于html - 为什么我应该在评论表单中使用 BBCode 而不是 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7268023/