note 55323 deleted from function.ereg by nlopess
| From: | nlopess@php.net | Date: | Sun, 02 Oct 2005 18:06:34 +0000 |
| Subject: | note 55323 deleted from function.ereg by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-96211@lists.php.net to get a copy of this message | ||
Note Submitter:
----
In relation to the previous poster's comments:
"Beware that eregs in PHP4 are broken, for instance if you want to match "a to z, 0,9 and
-" you might want to use [a-z0\-9] but it will silently fail due to a bug : the \ don't
escape some special chars, so this regexp is equivalent to [a-z0-9] ! Also putting \[ or \] inside
the brackets (to match for a bracket) doesn't work, or raises an error, but curiously putting
the \- at the end works. So if you want to match '[a-z\|\[\]]' you have to type
'([a-z]|\-|\[\|])'"
To make the backslash escape character work with ereg you simply need to just use \\.
For instance the example the user gave: "a to z, 0,9 and -" And used the syntax
"[a-z0\-9]" you would simply change it to
"[a-z0\\-9]" and it works fine.