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