ID: 21758 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Closed Bug Type: PCRE related Operating System: Linux, Win32 PHP Version: 5CVS-2003-01-19 (dev) New Comment:
Thank you for the fast fix. regards dtg Previous Comments: ------------------------------------------------------------------------ [2003-01-20 10:46:54] [EMAIL PROTECTED] This bug has been fixed in CVS. In case this was a PHP problem, snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites in short time. Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ [2003-01-20 05:23:28] [EMAIL PROTECTED] Hi, have already pointed you to the patch that causes this. This has been working before the patch. I've no possibility to test it on Win32 (I've been told by Sebastian Bergmann that it does not work there too). As it has obviously nothing to do with ZE2, both (lastest PHP4-STABLE, and CVS "php5" module) perish on this. Please fix this as soon as possible. "php4-STABLE-200301201030" root@warpcore:/src/php4-STABLE-200301201030/sapi/cli> ./php -v PHP 4.3.1-dev (cli) (built: Jan 20 2003 12:13:11) Copyright (c) 1997-2003 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2003 Zend Technologies root@warpcore:/src/php4-STABLE-200301201030/sapi/cli> ./php -i | head -13 phpinfo() PHP Version => 4.3.1-dev System => Linux warpcore 2.2.20 #10 Sun Nov 17 22:46:16 CET 2002 i686 Build Date => Jan 20 2003 12:09:35 Configure Command => './configure' '--enable-force-cgi-redirect' '--with-mysql=/usr/local/mysql' '--with-config-file-path=../conf' '--enable-trans-sid' Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => ../conf PHP API => 20020918 PHP Extension => 20020429 Zend Extension => 20021010 Debug Build => no root@warpcore:/src/php4-STABLE-200301201030/sapi/cli> cat | ./php <?php class Foo { function foo() { $s = 'preg_replace() is broken'; echo preg_replace_callback( '/broken/', array(&$this, 'bar'), $s ); } function bar() { return 'working'; } } // of Foo $o = new Foo; ?> Warning: preg_replace_callback() [...]: Parameter mismatch, pattern is a string while replacement in an array. in - on line 11 ---------------------------------------------------------------------- "php5" CVS module: goosh@warpcore:/src/php5/sapi/cli> ./php -v PHP 5.0.0-dev (cli) (built: Jan 20 2003 11:49:51) Copyright (c) 1997-2003 The PHP Group Zend Engine v2.0.0-dev, Copyright (c) 1998-2003 Zend Technologies goosh@warpcore:/src/php5/sapi/cli> ./php -i | head -13 phpinfo() PHP Version => 5.0.0-dev System => Linux warpcore 2.2.20 #10 Sun Nov 17 22:46:16 CET 2002 i686 Build Date => Jan 20 2003 11:46:03 Configure Command => './configure' '--enable-force-cgi-redirect' '--with-mysql=/usr/local/mysql' '--with-config-file-path=../conf' '--enable-trans-sid' Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => ../conf PHP API => 20020918 PHP Extension => 20020429 Zend Extension => 90021012 Debug Build => no goosh@warpcore:/src/php5/sapi/cli> cat | ./php <?php class Foo { function foo() { $s = 'preg_replace() is broken'; echo preg_replace_callback( '/broken/', array(&$this, 'bar'), $s ); } function bar() { return 'working'; } } // of Foo $o = new Foo; ?> Warning: preg_replace_callback() [...]: Parameter mismatch, pattern is a string while replacement in an array. in - on line 7 regards dtg ------------------------------------------------------------------------ [2003-01-20 00:29:46] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip To see if it's ZE2 issue or not..and also, provide a complete, short and self-contained example script so that we can easily reproduce the problem ourselves. ------------------------------------------------------------------------ [2003-01-19 17:16:03] [EMAIL PROTECTED] Probably this patch screwed up preg_replace_* functions: http://lists.php.net/article.php?group=php.cvs&article=18024 I need the functionality to pass a callback _method_ to preg_replace_callback(). It worked usually like this (in a class): $s = preg_replace_callback(<pattern>, array(&$this, 'callbackmethod'), $s); Now "array" is forbidden. Is this your intention? How to access callback methods then? regards dtg ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21758&edit=1