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?

Related posts

Leave a Reply

1 comment

  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.