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