diff options
Diffstat (limited to 'library/HTMLPurifier/Strategy/Composite.php')
-rw-r--r-- | library/HTMLPurifier/Strategy/Composite.php | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/library/HTMLPurifier/Strategy/Composite.php b/library/HTMLPurifier/Strategy/Composite.php new file mode 100644 index 000000000..816490b79 --- /dev/null +++ b/library/HTMLPurifier/Strategy/Composite.php @@ -0,0 +1,25 @@ +<?php + +/** + * Composite strategy that runs multiple strategies on tokens. + */ +abstract class HTMLPurifier_Strategy_Composite extends HTMLPurifier_Strategy +{ + + /** + * List of strategies to run tokens through. + */ + protected $strategies = array(); + + abstract public function __construct(); + + public function execute($tokens, $config, $context) { + foreach ($this->strategies as $strategy) { + $tokens = $strategy->execute($tokens, $config, $context); + } + return $tokens; + } + +} + +// vim: et sw=4 sts=4 |