diff options
Diffstat (limited to 'library/HTMLPurifier/PropertyListIterator.php')
-rw-r--r-- | library/HTMLPurifier/PropertyListIterator.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/library/HTMLPurifier/PropertyListIterator.php b/library/HTMLPurifier/PropertyListIterator.php new file mode 100644 index 000000000..8f250443e --- /dev/null +++ b/library/HTMLPurifier/PropertyListIterator.php @@ -0,0 +1,32 @@ +<?php + +/** + * Property list iterator. Do not instantiate this class directly. + */ +class HTMLPurifier_PropertyListIterator extends FilterIterator +{ + + protected $l; + protected $filter; + + /** + * @param $data Array of data to iterate over + * @param $filter Optional prefix to only allow values of + */ + public function __construct(Iterator $iterator, $filter = null) { + parent::__construct($iterator); + $this->l = strlen($filter); + $this->filter = $filter; + } + + public function accept() { + $key = $this->getInnerIterator()->key(); + if( strncmp($key, $this->filter, $this->l) !== 0 ) { + return false; + } + return true; + } + +} + +// vim: et sw=4 sts=4 |