ID:               20631
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Verified
 Bug Type:         PCRE related
 Operating System: Linux 2.4.19
 PHP Version:      4.3.0RC1
 New Comment:

This is indeed a bug, you are correct. The bug is due to us bundling a
pcre library which appears to have a bug, which causes the behaviour
you describe.
As an intermittent solution, you can compile your own pcre library and
compile php with --with-pcre-regex=/path/to/pcre/lib


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

[2002-11-27 19:26:19] [EMAIL PROTECTED]

Forgot to change back to open...

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

[2002-11-27 19:25:35] [EMAIL PROTECTED]

I respectfully disagree... :)

My code definitely was case-insensitive in 4.2.2 and 4.2.3, and when I
installed 4.3.0RC1 it was case-sensitive.  There's definitely something
fishy going on.

The following page details the setting of internal options by using the
(?) construct.
http://www.php.net/manual/en/pcre.pattern.syntax.php#regexp.reference.internal-options

According to this page, what I'm doing is correct.

I really don't mind changing my function to use perhaps eregi_replace
or something else, but I really think this could be an issue for users
who currently use preg_* functions with case-insensitivity (I'm sure
there would be a few of them...)

Matt

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

[2002-11-27 00:22:41] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Unless you specify the 'i' flag your regular expression will NOT be
case-insensetive. For example the regex you've shown should appear like
this:
'/\(name\)(?i)/i'

If you want it not to be case sensetive.

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

[2002-11-25 16:50:48] [EMAIL PROTECTED]

preg_replace():

This regex was case insensitive in 4.2.3, but is case sensitive in
4.3.0RC1: '/\(name\)(?i)/'

Was not able to test further because I installed it on a production
box, and had to revert to 4.2.3...

I had the search and replace values in arrays which I then passed to
preg_replace().  This may have some effect on it.  I didn't test just
passing a string.

Matt


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


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

Reply via email to