Bug #11085 Updated: preg_replace_callback and class methods
| From: | mfischer@php.net | Date: | Thu, 24 May 2001 13:25:50 +0000 |
| Subject: | Bug #11085 Updated: preg_replace_callback and class methods | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-56622@lists.php.net to get a copy of this message | ||
ID: 11085
Updated by: mfischer
Reported By: bilo@mit.it
Status: Closed
Bug Type: PCRE related
Operating system:
PHP Version: 4.0.5
Assigned To:
Comments:
Forget the ';' after 'callmeback') ...
- Markus
Previous Comments:
---------------------------------------------------------------------------
[2001-05-24 09:25:03] mfischer@php.net
Method callbacks are performed with the syntax array( $object, 'method'); in your case you
want to write
preg_replace_callback( '/{([A-Z_][A-Z0-9_]*)}/i', array( &$this,
'callmeback');, $text);
Btw, you missed the ' after callback( ...
- Markus
---------------------------------------------------------------------------
[2001-05-24 08:38:35] bilo@mit.it
I was using preg_replace with the '/F' parameter, and it
was working perfectly till v4.0.4pl1. Now it has been
substituted by preg_replace_callback.
Does preg_replace_callback work with class method as a callback function, too? If it does, how
should it be
written?
I'm asking this because in each of these cases:
preg_replace_callback(/{([A-Z_][A-Z0-9_]*)}/i', $this->callmeback, $text);
preg_replace_callback(/{([A-Z_][A-Z0-9_]*)}/i', "$this->callmeback", $text);
preg_replace_callback(/{([A-Z_][A-Z0-9_]*)}/i', '$this->callmeback', $text);
I get a warning:
preg_replace_callback() requires argument 2, [...],
to be a valid callback
More: there is another drawback. With preg_replace + '/F' parameter I could also specify
additional parameters in the command line. Now I can't.
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11085&edit=2