On 11/05/2012 01:57 AM, Jean-Sébastien Hedde wrote:
> Hi,
> 
> I'm facing an issue with preg_match and an UTF8 string.
> 
> The pattern is : /^[[:alnum:]\s\-\'%]+$/u
> The string : Régis
> 
> If I read the manual preg_match should return 0 ("In UTF-8 mode,
> characters with values greater than 128 do not match any of the POSIX
> character classes.") but I've got 1 in some case :
> 
> On a Windows host
> php 5.2.12 - (PCRE 7.9 2009-04-11) : preg_match === 1
> 
> On the same centos host :
> php 5.2.10 (Rémi's RPM) - (PCRE 6.6 06-Feb-2006) : preg_match === 0
> php 5.4.8 (my build) - (PCRE 8.12 2011-01-15) : preg_match === 1
> 
> On an other Centos host :
> php 5.4.0 (Rémi's RPM) - (PCRE 7.8 2008-09-05)
> 
> How this can be possible ?

I think the documentation is wrong on that. In Unicode mode [[:alnum:]]
actually becomes \p{Xan} which should match Unicode chars as well, but
only if PCRE was compiled with Unicode support. So I suspect you don't
actually have a Unicode-capable PCRE build in some cases there.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to