#47686 [Fbk->Csd]: preg_quote is escaping '-' when it shouldn't
ID: 47686
User updated by: jesse dot collis at gmail dot com
Reported By: jesse dot collis at gmail dot com
-Status: Feedback
+Status: Closed
Bug Type: PCRE related
Operating System: OSX 10.5.6 / doesn't matter
PHP Version: 5.3CVS-2009-03-17 (snap)
New Comment:
From further investigation, although the change in behaviour of
preg_quote in Bug#47229 breaks certain elements in the Code Ignighter
Framework, it has more to do with the framework than a logical error in
preg_quote.
If anyone is interested, the default settings of Code Igniter 1.7.1
will
cause URI.php line 189 to fault and return a false negative. I will
alert them of this.
Previous Comments:
------------------------------------------------------------------------
[2009-03-17 11:22:19] felipe@php.net
This was due the fix for Bug#47229.
But does this breaking your code?
------------------------------------------------------------------------
[2009-03-17 04:58:38] jesse dot collis at gmail dot com
Description:
------------
In a simple test of preg_quote is showing the function is not behaving
as it does in PHP 5.2.x. preg_quote is escaping '-' (minus) characters
when it shouldn't.
Reproduce code:
---------------
Current Results
-----------------------
var_dump(preg_quote("[0-2]")); => string(8) "\[0\-2\]"
var_dump(preg_quote("0-2")); => string(4) "0\-2"
var_dump(preg_quote("a-z 0-9~%.:_\-")); => string(20) "a\-z
0\-9~%\.\:_\\\-"
Expected result:
----------------
the three lines printed above should come out the following way.
var_dump(preg_quote("[0-2]")); => string(7) "\[0-2\]"
var_dump(preg_quote("0-2")); => string(3) "0-2"
var_dump(preg_quote("a-z 0-9~%.:_\-")); => string(17) "a-z
0-9~%\.\:_\\-
"
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=47686&edit=1
Thread (4 messages)