helly Thu Jul 20 22:04:52 2006 UTC Modified files: /php-src/ext/spl/internal regexiterator.inc Log: - Update docu http://cvs.php.net/viewvc.cgi/php-src/ext/spl/internal/regexiterator.inc?r1=1.4&r2=1.5&diff_format=u Index: php-src/ext/spl/internal/regexiterator.inc diff -u php-src/ext/spl/internal/regexiterator.inc:1.4 php-src/ext/spl/internal/regexiterator.inc:1.5 --- php-src/ext/spl/internal/regexiterator.inc:1.4 Thu Jul 20 21:21:20 2006 +++ php-src/ext/spl/internal/regexiterator.inc Thu Jul 20 22:04:52 2006 @@ -34,6 +34,7 @@ self::GET_MATCH, self::ALL_MATCHES, self::SPLIT) */ private $preg_flags;/**< PREG_* flags, see preg_match(), preg_match_all(), preg_split() */ + private $key; /**< the value used for key() */ private $current; /**< the value used for current() */ /** @@ -67,9 +68,10 @@ function accept() { $matches = array(); + $this->key = parent::key(); $this->current = parent::current(); /* note that we use $this->current, rather than calling parent::current() */ - $subject = ($this->flags & self::USE_KEY) ? parent::key() : $this->current; + $subject = ($this->flags & self::USE_KEY) ? $this->key : $this->current; switch($this->mode) { case self::MATCH: @@ -86,9 +88,28 @@ case self::SPLIT: $this->current = array(); preg_split($this->regex, $subject, $this->current, $this->preg_flags) > 1; + + case self::REPLACE: + $this->current = array(); + $result = preg_replace($this->regex, $this->replacement, $subject); + if ($this->flags & self::USE_KEY) + { + $this->key = $result; + } + else + { + $this->current = $result; + } } } + /** @return the key after accept has been called + */ + function key() + { + return $this->key; + } + /** @return the current value after accept has been called */ function current()
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php