Hi Joshua,

My comments are inline below:

Joshua Ross wrote:
> I posted this once in response to another post and then in my investigation 
> I found that these validators have changed in 1.0RC3 somewhat 
> dramatically.We are having problems using Zend_Validate_Alpha and 
> Zend_Validate_Alnum but only on our production RHEL5 server.  Using xampp
> locally on windows XP the same code works perfectly.  Prior to 1.0RC3 this
> worked on production as well.  We are running ZF 1.0RC3.  Here is the test
> code(similar to original post):
> 
> $validator = new Zend_Validate_Alnum();
> 
> $vars = array('Alnum' => 'foobar1',
>               'notAlnum' => '[EMAIL PROTECTED]');
> foreach ($vars as $var) {
>         echo $validator->isValid($var) ? $var.":true\n":$var.":false\n";
> }
> 
> RHEL5 response:
> foobar1:false
> [EMAIL PROTECTED]:false
> 
> WindowsXP response:
> foobar1:true
> [EMAIL PROTECTED]:false
> 
> Looking at the code both validators now leverage the filters instead of 
> using ctype functions.  The filters use perl reg exp but even those have 
> changed.
> For example, Zend_Validate_Alnum was:
> /[^[:alnum:]]/
> 
> and now it is:
> /[^\p{L}\p{N}]/u
> 
> minus the whitespace logic.  I assume the whitespace logic is why this was 
> changed.  Testing the new expression using pcretest I am receiving false for 
> valid strings.

No, the regular expression was changed in order to support UTF-8
strings. Note the "u" modifier and the UTF-8 property checks ("L" for
letter, "N" for number).

> 
> RHEL5 & Windows XP
> ******
>> pcretest
> PCRE version 6.6 06-Feb-2006
> 
>   re> /[^\p{L}\p{N}]/u
> ** Unknown option 'u'
>   re> /[^\p{L}\p{N}]/
> data> foobar1
>  0: f
> data> foobar
>  0: f
> data> [EMAIL PROTECTED]
>  0: f

Hmm, interesting. It appears that on this system the UTF-8 support is
not available.

> I am quite confused!  Is the regular expression incorrect?  It appears 
> correct based on my investigation but it is obviously not working. This 
> failed on both windowsXP and the RHEL5 server, both of which are running 
> pcretest 6.6.  It did, however, work in my test php script on Windows XP. 
> The one difference here is that my PHP install on my Windows XP box has PCRE 
> 6.7.  Is this reg exp only available in PCRE 6.7?

No, I have been unable to reproduce the problem through unit testing on
the following platforms:

* PHP 5.1.4, WinXP, PCRE 6.6

* PHP 5.2.1, Ubuntu, PCRE 6.7

> I don't have a windows XP 6.7 pcretest at the moment, going to look to see 
> if cygwin has it ready for download.  Once I test it I will post the 
> results.  Below are some server details:

Thank you for posting these results. It appears that we need some more
investigation to find the root cause of the problem... calling all
volunteers!

Best regards,
Darby

> 
> 
> RHEL 5 System details:
> ******************************************************
> PHP 5.1.6 (cli) (built: Apr  4 2007 11:38:24)
> Copyright (c) 1997-2006 The PHP Group
> Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
>     with Zend Extension Manager v1.2.0, Copyright (c) 2003-2006, by Zend
> Technologies
>     with Zend Optimizer v3.2.6, Copyright (c) 1998-2007, by Zend
> Technologies
> 
> yum info:
> *******
> PCRE
> ---------------------------------------------------------------
> pcre.x86_64                              6.6-1.1                installed
> 
> PHP
> ---------------------------------------------------------------
> php.x86_64                               5.1.6-11.el5           installed
> php-bcmath.x86_64                        5.1.6-11.el5           installed
> php-cli.x86_64                           5.1.6-11.el5           installed
> php-common.x86_64                        5.1.6-11.el5           installed
> php-dba.x86_64                           5.1.6-11.el5           installed
> php-devel.x86_64                         5.1.6-11.el5           installed
> php-gd.x86_64                            5.1.6-11.el5           installed
> php-imap.x86_64                          5.1.6-11.el5           installed
> php-ldap.x86_64                          5.1.6-11.el5           installed
> php-mbstring.x86_64                      5.1.6-11.el5           installed
> php-mysql.x86_64                         5.1.6-11.el5           installed
> php-ncurses.x86_64                       5.1.6-11.el5           installed
> php-odbc.x86_64                          5.1.6-11.el5           installed
> php-pdo.x86_64                           5.1.6-11.el5           installed
> php-pear.noarch                          1:1.4.9-4              installed
> php-pgsql.x86_64                         5.1.6-11.el5           installed
> php-snmp.x86_64                          5.1.6-11.el5           installed
> php-soap.x86_64                          5.1.6-11.el5           installed
> php-xml.x86_64                           5.1.6-11.el5           installed
> php-xmlrpc.x86_64                        5.1.6-11.el5           installed
> 
> 
> 
> WindowsXP System details:
> **************************************************
> PHP 5.2.1 (cli) (built: Feb  7 2007 23:11:26)
> Copyright (c) 1997-2007 The PHP Group
> Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
>     with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend
> Technologies
>     with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend
> Technologies
> 
> PCRE:
> *************************************************
> PCRE Library Version => 6.7 04-Jul-2006
> 
> 
> Josh
> 
> 
> 
> 

Reply via email to