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

Reply via email to