# Escaping HTML Probably the most common escaping happens for **HTML body** contexts. There are very few characters with special meaning in this context, yet it is quite common to escape data incorrectly, namely by setting the wrong flags and character encoding. For escaping data to use within an HTML body context, use `Zend\Escaper\Escaper`'s `escapeHtml()` method. Internally it uses PHP's `htmlspecialchars()`, correctly setting the flags and encoding for you. ```php // Outputting this without escaping would be a bad idea! $input = ''; $escaper = new Zend\Escaper\Escaper('utf-8'); // somewhere in an HTML template
escapeHtml($input) // all safe! ?>
``` One thing a developer needs to pay special attention to is the encoding in which the document is served to the client, as it **must be the same** as the encoding used for escaping! ## Example of Bad HTML Escaping An example of incorrect usage: ```php alert("zf2")'; $escaper = new Zend\Escaper\Escaper('utf-8'); ?> Encodings set incorrectly! escapeHtml($input); ?> ``` ## Example of Good HTML Escaping An example of correct usage: ```php alert("zf2")'; $escaper = new Zend\Escaper\Escaper('utf-8'); ?> Encodings set correctly! escapeHtml($input); ?> ```