1<?php
2
3/**
4 * Composite strategy that runs multiple strategies on tokens.
5 */
6abstract class HTMLPurifier_Strategy_Composite extends HTMLPurifier_Strategy
7{
8
9    /**
10     * List of strategies to run tokens through.
11     * @type HTMLPurifier_Strategy[]
12     */
13    protected $strategies = array();
14
15    /**
16     * @param HTMLPurifier_Token[] $tokens
17     * @param HTMLPurifier_Config $config
18     * @param HTMLPurifier_Context $context
19     * @return HTMLPurifier_Token[]
20     */
21    public function execute($tokens, $config, $context)
22    {
23        foreach ($this->strategies as $strategy) {
24            $tokens = $strategy->execute($tokens, $config, $context);
25        }
26        return $tokens;
27    }
28}
29
30// vim: et sw=4 sts=4
31