From:             [EMAIL PROTECTED]
Operating system: Linux Debian
PHP version:      4.0.4pl1
PHP Bug Type:     *Regular Expressions
Bug description:  e modifier alters string extraction in preg_replace

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 Bug report at: http://bugs.php.net/?id=10111&edit=1



-- 
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]

Reply via email to