ID: 10668
Updated by: andrei
Old-Status: Open
Status: Analyzed
Bug Type: PCRE related
PHP Version: 4.0.5
Assigned To: 

Can you explain why you think it fails? The following sample (slightly modified from 
yours to dump the $s parameter to function):

$str = "abc'\\\\''def";
function f($s) { var_dump($s); return "x"; }
print preg_replace("/c(.*)d/e", "f('\\1')", $str);


string(5) "'\\''"

As it should.

Previous Comments:

[2001-05-04 11:44:19] [EMAIL PROTECTED]
The following code succeeds on PHP 4.03 and PHP 4.04pl1, but fails on PHP 4.05:

  $str = "abc'\\''def";
  function f($s) { return "x"; }
  print preg_replace("/c(.*)d/e", "f('\1')", $str, -1);

This seems to expose *two* underlying bugs:

  1) There appears to be some problem in the regex state
  2) There is a definite problem with the replacement of
     the backreference with its corresponding string.


ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at

PHP Development Mailing List <>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to