CakePHP有一个名为h
的全局函数。这是htmlspecialchars
的便捷方法。 CakePHP还有一个名为Sanitize
的实用程序,它有一个名为html
的方法。以下是其描述的一部分:
此方法准备用户提交的数据以在HTML中显示。这个 如果您不希望用户破坏您的用户,则特别有用 布局或在HTML页面内插入图像或脚本。
什么时候应该使用?一个比另一个好吗?
答案 0 :(得分:4)
Sanitize::html()
更通用:它允许您完全剥离HTML(通过remove
选项),并允许您指定处理引用的方式。
参见源代码:
h()
:http://api.cakephp.org/2.3/source-function-h.html#160-199
Sanitize::html()
:http://api.cakephp.org/2.3/source-class-Sanitize.html#83-122
编辑:
h()
:致电htmlspecialchars()
Sanitize::html()
:致电htmlentities()
有关差异的讨论,请参阅:htmlentities() vs. htmlspecialchars()