1<?php 2 3/** 4 * Property list iterator. Do not instantiate this class directly. 5 */ 6class 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 public function accept() 33 { 34 $key = $this->getInnerIterator()->key(); 35 if (strncmp($key, $this->filter, $this->l) !== 0) { 36 return false; 37 } 38 return true; 39 } 40} 41 42// vim: et sw=4 sts=4 43