Annotation of embedaddon/php/ext/spl/internal/recursiveregexiterator.inc, revision 1.1
1.1 ! misho 1: <?php
! 2:
! 3: /** @file recursiveregexiterator.inc
! 4: * @ingroup SPL
! 5: * @brief class RegexIterator
! 6: * @author Marcus Boerger
! 7: * @date 2003 - 2009
! 8: *
! 9: * SPL - Standard PHP Library
! 10: */
! 11:
! 12: /**
! 13: * @brief Recursive regular expression filter for iterators
! 14: * @author Marcus Boerger
! 15: * @version 1.0
! 16: * @since PHP 5.1
! 17: *
! 18: * This filter iterator assumes that the inner iterator
! 19: */
! 20: class RecursiveRegexIterator extends RegexIterator implements RecursiveIterator
! 21: {
! 22: /**
! 23: * Constructs a regular expression filter around an iterator whose
! 24: * elemnts or keys are strings.
! 25: *
! 26: * @param it inner iterator
! 27: * @param regex the regular expression to match
! 28: * @param mode operation mode (one of self::MATCH, self::GET_MATCH,
! 29: * self::ALL_MATCHES, self::SPLIT)
! 30: * @param flags special flags (self::USE_KEY)
! 31: * @param preg_flags global PREG_* flags, see preg_match(),
! 32: * preg_match_all(), preg_split()
! 33: */
! 34: function __construct(RecursiveIterator $it, $regex, $mode = 0, $flags = 0, $preg_flags = 0) {
! 35: parent::__construct($it, $regex, $mode, $flags, $preg_flags);
! 36: }
! 37:
! 38: /** @return whether the current element has children
! 39: */
! 40: function hasChildren()
! 41: {
! 42: return $this->getInnerIterator()->hasChildren();
! 43: }
! 44:
! 45: /** @return an iterator for the current elements children
! 46: *
! 47: * @note the returned iterator will be of the same class as $this
! 48: */
! 49: function getChildren()
! 50: {
! 51: if (empty($this->ref))
! 52: {
! 53: $this->ref = new ReflectionClass($this);
! 54: }
! 55: return $this->ref->newInstance($this->getInnerIterator()->getChildren());
! 56: }
! 57:
! 58: private $ref;
! 59: }
! 60:
! 61: ?>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>