\HTMLPurifier_Filter_ExtractStyleBlocks

This filter extracts <style> blocks from input HTML, cleans them up using CSSTidy, and then places them in $purifier->context->get('StyleBlocks') so they can be used elsewhere in the document.

Sometimes, a little ad-hoc fixing of HTML has to be done before it gets sent through HTML Purifier: you can use filters to acheive this effect. For instance, YouTube videos can be preserved using this manner. You could have used a decorator for this task, but PHP's support for them is not terribly robust, so we're going to just loop through the filters.

Filters should be exited first in, last out. If there are three filters, named 1, 2 and 3, the order of execution should go 1->preFilter, 2->preFilter, 3->preFilter, purify, 3->postFilter, 2->postFilter, 1->postFilter.

Summary

Methods
Properties
Constants
preFilter()
postFilter()
__construct()
cleanCSS()
$name
No constants found
styleCallback()
No protected properties found
N/A
No private methods found
$_styleMatches
$_tidy
$_id_attrdef
$_class_attrdef
$_enum_attrdef
N/A

Properties

$name

$name : 

Name of the filter for identification purposes.

Type

$_styleMatches

$_styleMatches : 

Type

$_tidy

$_tidy : 

Type

$_id_attrdef

$_id_attrdef : 

Type

$_class_attrdef

$_class_attrdef : 

Type

$_enum_attrdef

$_enum_attrdef : 

Type

Methods

preFilter()

preFilter(string  $html, \HTMLPurifier_Config  $config, \HTMLPurifier_Context  $context) : string

Removes inline <style> tags from HTML, saves them for later use

Parameters

string $html
\HTMLPurifier_Config $config
\HTMLPurifier_Context $context

Returns

string

postFilter()

postFilter(string  $html, \HTMLPurifier_Config  $config, \HTMLPurifier_Context  $context) : string

Post-processor function, handles HTML after HTML Purifier

Parameters

string $html
\HTMLPurifier_Config $config
\HTMLPurifier_Context $context

Returns

string

__construct()

__construct() 

cleanCSS()

cleanCSS(string  $css, \HTMLPurifier_Config  $config, \HTMLPurifier_Context  $context) : string

Takes CSS (the stuff found in <style>) and cleans it.

Parameters

string $css

CSS styling to clean

\HTMLPurifier_Config $config
\HTMLPurifier_Context $context

Throws

\HTMLPurifier_Exception

Returns

string —

Cleaned CSS

styleCallback()

styleCallback(array  $matches) 

Save the contents of CSS blocks to style matches

Parameters

array $matches

preg_replace style $matches array