Whoops, forgot to edit WHATSNEW
[htmlpurifier.git] / library / HTMLPurifier / Filter.php
blobc1f41ee162285a180510c1822844db640358f45b
1 <?php
3 /**
4 * Represents a pre or post processing filter on HTML Purifier's output
6 * Sometimes, a little ad-hoc fixing of HTML has to be done before
7 * it gets sent through HTML Purifier: you can use filters to acheive
8 * this effect. For instance, YouTube videos can be preserved using
9 * this manner. You could have used a decorator for this task, but
10 * PHP's support for them is not terribly robust, so we're going
11 * to just loop through the filters.
13 * Filters should be exited first in, last out. If there are three filters,
14 * named 1, 2 and 3, the order of execution should go 1->preFilter,
15 * 2->preFilter, 3->preFilter, purify, 3->postFilter, 2->postFilter,
16 * 1->postFilter.
18 * @note Methods are not declared abstract as it is perfectly legitimate
19 * for an implementation not to want anything to happen on a step
22 class HTMLPurifier_Filter
25 /**
26 * Name of the filter for identification purposes.
27 * @type string
29 public $name;
31 /**
32 * Pre-processor function, handles HTML before HTML Purifier
33 * @param string $html
34 * @param HTMLPurifier_Config $config
35 * @param HTMLPurifier_Context $context
36 * @return string
38 public function preFilter($html, $config, $context)
40 return $html;
43 /**
44 * Post-processor function, handles HTML after HTML Purifier
45 * @param string $html
46 * @param HTMLPurifier_Config $config
47 * @param HTMLPurifier_Context $context
48 * @return string
50 public function postFilter($html, $config, $context)
52 return $html;
56 // vim: et sw=4 sts=4