Re: I lied, another question / problem
| From: | Roman Neuhauser | Date: | Wed, 17 Jan 2007 17:33:40 +0000 |
| Subject: | Re: I lied, another question / problem | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-247238@lists.php.net to get a copy of this message | ||
# jochem@iamjochem.com / 2007-01-17 16:59:26 +0100:
> Roman Neuhauser wrote:
> > re_format(7) on FreeBSD:
> >
> > A bracket expression is a list of characters enclosed in `[]'.
> > (...)
> > If two characters in the list are separated by `-', this is
> > shorthand for the full range of characters between those two
> > (inclusive) in the collating sequence, e.g. `[0-9]' in ASCII
> > matches any decimal digit.
> > (...)
> > Ranges are very collating-sequence-dependent, and portable programs
> > should avoid relying on them.
>
> one other thing ...
>
> wouldn't it be fair to assume (safety through paranoia) that
> ctype_alnum() would suffer the same problem? (given the manual's
> indication that ctype_alnum() and the offending regexp are equivalent?)
isalnum(3) uses isalpha(3) and isdigit(3), so yes, their results are
locale-dependent (LC_CTYPE, see setlocale(3)), but don't depend on
collating sequence. isdigit(3):
The isdigit() function tests for a decimal digit character. Regardless
of locale, this includes the following characters only:
`
0'' 1'' 2''
3'' `4''
`5'' 6'' 7''
8'' `9''
--
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man. You don't KNOW.
Cause you weren't THERE. http://bash.org/?255991