Re: Check if PCRE has UTF-8 support compiled in

Andries Seutens <[email protected]>
Newsgroups gmane.comp.php.internationalization
Message-ID <[email protected]>
Nuno Lopes,

Thanks a lot! I was able to resolve the issue!

Odd enough, POSIX named classes (eg [:alnum:] are not supported either 
when PCRE is not compiled with UTF-8 and Unicode support. Which is 
weird, because the manual states elsewise.

For those of you interested to see the fix, please refer to:
http://framework.zend.com/fisheye/browse/Zend_Framework/trunk/library/Zend/Filter/Alnum.php?r=5468

Nuno, thanks again!

Best,

-- 
Andries Seutens
http://andries.systray.be


Nuno Lopes schreef:
> The first thing I would do is to convince those guys (RedHat) to 
> compile PCRE with UTF-8 and Unicode stuff support (that's 2 different 
> build options). They have probably forgot to include them.
> Ok, so to detect if you have UTF-8 support.. uhm we could add a 
> function to do that (PCRE exports that information), but I think you 
> want something quicker than asking everybody to upgrade php :P You can 
> always try to match a simple thing and see if it returns an error or not.
> e.g. if (!preg_match('/\pL/u', 'a')) die('bastard');
>
> Nuno
>
>
> ----- Original Message ----- From: "Andries Seutens" 
> <[email protected]>
> To: <[email protected]>
> Sent: Wednesday, June 27, 2007 6:36 PM
> Subject: [PHP-I18N] Check if PCRE has UTF-8 support compiled in
>
>
>> Dear all,
>>
>> In the Zend Framework we have written a filter to filter anything but 
>> alpha an numeric characters from a string. The regular expression for 
>> this filter looks like so:
>>
>> $result = preg_replace('/[^\p{L}\p{N}\s]/u', '', '!!testing123!!');
>>
>> Apperently, on some systems like RHEL however, this regular 
>> expression seems to fail.  The reason that it is failing for you 
>> appears to be that your PCRE does not have UTF-8 support compiled 
>> in?  This is likely the result of the particular distribution not 
>> having used the --enable-utf8 option.
>>
>> What this means to us is that the class should become aware of 
>> whether such support is available, and act accordingly.
>>
>> My question to you guys is, how would such a check for support best 
>> be done? Perhaps detect the error condition, which would only occur 
>> in the event that the system does not have utf-8 support? But how 
>> (preferably without going down the dirty path .... )?
>>
>> Best regards,
>>
>>
>> Andries Seutens
>> http://andries.systray.be
>> -- 
>> PHP Unicode & I18N Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php 
>
>

Gecontroleerd op virussen door de JOJO Secure Gateway.

-- 
PHP Unicode & I18N Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.