What is the difference between esc_html and wp_filter_nohtml_kses?

What is the exact difference between esc_html and wp_filter_nohtml_kses. Everywhere I look says that both strip all the html, the only difference I can see is to do with exactly how they do this. Does esc_html encode the tags and does wp_filter_nohtml_kses strip them altogether?

1
1

Contrary to what you have been looking at, esc_html does not strip all the HTML, it escapes it, meaning it encodes it into safe HTML entities that do not break HTML tags.

wp_filter_nohtml_kses strips all the HTML.

When in doubt always consult the source code. It is accessible online.

esc_attr is short and sweet, uses _wp_specialchars, defined in wp-includes/formatting.php

wp_filter_nohtml_kses is defined in wp-includes/kses.php, and “Strips all of the HTML in the content.

Leave a Comment