问题描述
esc_html
和 wp_filter_nohtml_kses
的确切区别是什么?我看到的每一个地方都说这两个都是剥离所有的 HTML,唯一的区别是我们可以看到他们是如何做到的。 esc_html
是否对标签进行编码,wp_filter_nohtml_kses
是否完全剥离?
最佳解决方案
与您所看到的相反,esc_html
不会剥离所有的 HTML,它会转义它,这意味着它将其编码为不会破坏 HTML 标签的安全的 HTML 实体。
wp_filter_nohtml_kses
剥离所有 HTML 。
当有疑问时总是参考源代码。它可以在线访问
esc_attr
是短而甜,使用_wp_specialchars
,定义在 wp-includes/formatting.php
wp_filter_nohtml_kses
在 wp-includes/kses.php 中定义,并且 「内容中的所有 HTML」 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。