1: | <?php |
2: | |
3: | /** |
4: | * Property list iterator. Do not instantiate this class directly. |
5: | */ |
6: | class HTMLPurifier_PropertyListIterator extends FilterIterator |
7: | { |
8: | |
9: | /** |
10: | * @type int |
11: | */ |
12: | protected $l; |
13: | /** |
14: | * @type string |
15: | */ |
16: | protected $filter; |
17: | |
18: | /** |
19: | * @param Iterator $iterator Array of data to iterate over |
20: | * @param string $filter Optional prefix to only allow values of |
21: | */ |
22: | public function __construct(Iterator $iterator, $filter = null) |
23: | { |
24: | parent::__construct($iterator); |
25: | $this->l = strlen($filter); |
26: | $this->filter = $filter; |
27: | } |
28: | |
29: | /** |
30: | * @return bool |
31: | */ |
32: | #[\ReturnTypeWillChange] |
33: | public function accept() |
34: | { |
35: | $key = $this->getInnerIterator()->key(); |
36: | if (strncmp($key, $this->filter, $this->l) !== 0) { |
37: | return false; |
38: | } |
39: | return true; |
40: | } |
41: | } |
42: | |
43: | // vim: et sw=4 sts=4 |
44: |