ID:               10111
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Duplicate
+Status:           Bogus
 Bug Type:         PCRE related
 Operating System: Linux Debian
 PHP Version:      4.0.4pl1
 New Comment:

As is the one this was duplicate of: #12668



Previous Comments:
------------------------------------------------------------------------

[2002-04-09 17:01:50] [EMAIL PROTECTED]

this is a duplicate of #12668 (which has more discussion about the
issue, which is why i'm pointing this at the later report instead of
vice versa).

------------------------------------------------------------------------

[2002-03-11 09:52:22] [EMAIL PROTECTED]

This is a nice feature, not a bug. See my user contributed note in the
manual under preg_replace. Maybe someone should document this behavior.

------------------------------------------------------------------------

[2001-04-02 08:08:30] [EMAIL PROTECTED]

A short example :

$newsitem = preg_replace('/(<([a-zA-Z-]+)
([^>]*)analyze="[0-9]*"([^>]*)>)(.*?)(<\/\\2>)/mse',
"'\\1'.transformNewsitemPart('\\5').'\\6'", $newsitem);

where I transform the text between any html tag with "analyze"
attribute.

The problem is that the preg_replace function with e modifier adds
backslashes before any " in the matched text (\\5) BEFORE the function
transformNewsitemPart is interpreted.

The behaviour is new in php 4.0.4. It was not present in php 4.0.3.

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=10111&edit=1

Reply via email to