问题描述

esc_htmlwp_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_kseswp-includes/kses.php 中定义,并且 「内容中的所有 HTML」 。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。