HTML5 Definitions for HTML Purifier
This library provides HTML5 element definitions for HTMLPurifier.
Installation
Install with Composer by running the following command:
composer require xemlock/htmlpurifier-html5
Usage
The most basic usage is similar to the original HTML Purifier. Create a HTML5-compatible config
using HTMLPurifier_HTML5Config::createDefault() factory method, and then pass it to an HTMLPurifier instance:
$config = HTMLPurifier_HTML5Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html5 = $purifier->purify($dirty_html5);
To modify the config you can either instantiate the config with a configuration array passed to
HTMLPurifier_HTML5Config::create(), or by calling set method on an already existing config instance.
For example, to allow IFRAMEs with Youtube videos you can do the following:
$config = HTMLPurifier_HTML5Config::create(array(
'HTML.SafeIframe' => true,
'URI.SafeIframeRegexp' => '%^//www\.youtube\.com/embed/%',
));
or equivalently:
$config = HTMLPurifier_HTML5Config::createDefault();
$config->set('HTML.SafeIframe', true);
$config->set('URI.SafeIframeRegexp', '#^//www\.youtube\.com/embed/#');
Supported HTML5 elements
Aside from HTML elements supported originally by HTML Purifier, this library adds support for the following HTML5 elements:
article, aside, audio, details, figcaption, figure, footer, header, hgroup, main, nav, picture, section, source, summary, time, track, video
Elements not (yet) supported
dialog, menu, menuitem, progress
License
The MIT License (MIT). See the LICENSE file.