1: | <?php |
2: | |
3: | /** |
4: | * Represents a pre or post processing filter on HTML Purifier's output |
5: | * |
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. |
12: | * |
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. |
17: | * |
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 |
20: | */ |
21: | |
22: | class HTMLPurifier_Filter |
23: | { |
24: | |
25: | /** |
26: | * Name of the filter for identification purposes. |
27: | * @type string |
28: | */ |
29: | public $name; |
30: | |
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 |
37: | */ |
38: | public function preFilter($html, $config, $context) |
39: | { |
40: | return $html; |
41: | } |
42: | |
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 |
49: | */ |
50: | public function postFilter($html, $config, $context) |
51: | { |
52: | return $html; |
53: | } |
54: | } |
55: | |
56: | // vim: et sw=4 sts=4 |
57: |