Beauford wrote:
> Hi,
> 
> I previously had some issues with preg_match and many of you tried to help,
> but the same  problem still exists. Here it is again, if anyone can explain
> to me how to get this to work it would be great - otherwise I'll just remove
> it as I just spent way to much time on this.
> 
> Thanks
> 
> Here's the code.
> 
>       if(empty($comment)) { $formerror['comment'] = nocomments; 
>       }
>       elseif(!preg_match('|[EMAIL PROTECTED]&*();:_.\\\\ /\t-]+$|',
> $comment)) {
>                               $formerror['comment'] = invalidchars;
>       }       
> 
> This produces an error, which I believe it should not.
> 
> Testing 12345. This is a test of the emergency broadcast system.
> 
> WAKE UP!!!!!!

Hi,

Your sample text contains newlines.  If you wish to allow newlines,
instead of " \t" you should use the whitespace selector "\s"

<?php
$comment = 'Testing 12345. This is a test of the emergency broadcast system.

WAKE UP!!!!!!';
if(!preg_match('|[EMAIL PROTECTED]&*();:_.\\\\\s/-]+$|', $comment)) {
    echo 'oops';
} else {
    echo 'ok';
}
?>

Try that code sample, and you'll see that it says "ok"

What exactly are you trying to accomplish with this preg_match()?  What
exactly are you trying to filter out?  I understand you want to
eliminate "invalid characters" but why are they invalid?  I ask because
there may be a simpler way to solve the problem, if you can explain what
the problem is.

Thanks,
Greg

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to