Re: Eregi error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, March 1, 2007 6:14 pm, Myron Turner wrote:
> Roberto Mansfield wrote:
>> Myron Turner wrote:
>>
>>> M.Sokolewicz wrote:
>>>
>>>>>>            $pattern = '^[a-z0-9\!\_ \.- ,/]*$';
>>>>>>            if(!eregi($pattern, $input)){
>>>>>>
>>> the problem is that the hyphen is interpreted as regex range
>>> operator:
>>>                                          [a-z0-9\!\_ \.- ,/]
>>> Rewrite this as
>>>                                    [a-z0-9\!\_ \. ,/-]
>>> with the hyphen in the last position.
>>>
>>>
>>
>> Or just escape the hyphen: \-
>> The position won't matter.
>>
>>
>
> Actually, I tried that, but it didn't work.  It still saw the hyphen
> as
> an operator.  The other thing about this is that the hyphen is
> followed
> by a space, so that it's asking for a range between the period and the
> space, which you can't do, since the space character has a lower ascii
> value than than the period.  The space is more obvious in a monospaced
> font.

The reason that a single \ in front didn't work is that \ is ALSO
special character for ' in PHP, and it just escapes the - so that you
have NOT sent \- to EREG, but sent it the same thing you were sending
it before you added \

You would need \\ inside of '' (or "") in PHP to get a single \ sent
to EREG which would then be used by EREG to escape the -

'...\\- ,/'

PHP takes \\- to produce \- which EREG takes to produce [character -]
instead of [range operator -]

You should probably review the "strings" page at the beginning of the
PHP manual.

-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some starving artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux