ID: 10626
Updated by: cynic
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Bogus
Bug Type: PCRE related
PHP Version: 4.0.5
Assigned To:
Comments:
You escaped the $1000 on the PHP level, so literal $1000 was sent to PCRE, where $10
was interpreted as a backreference, and since there aren't 10 capturing subpatterns in
the pattern, you get an empty string for $10, and the rest is taken as a literal
string.
Send further questions to php-general@ (after you RTFM, of course).
Previous Comments:
---------------------------------------------------------------------------
[2001-05-03 03:04:24] [EMAIL PROTECTED]
The problem is that preg_replace() ignores escaping of $nn sequence in the replacement
string.
<?
$str = preg_replace("/a/", "$1000", "test ... a ... test");
echo $str;
?>
test ... 00 ... test
-----------
#!/usr/local/bin/perl -w
$_ = "test ... a ... test";
s/a/$1000/;
print;
-----------
test ... $1000 ... test
This feature leads to impossibility of passing strings like '$1000' via phplib
template variables.
PHP 4.0.4pl1, 4.0.5
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=10626&edit=2
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]