Re: LOL, preg_match still not working.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mails been down since this morning (sorry, that's yesterday morning).
Anyway, not sure if this went through, so here it is again. 

------

The bottom line is I want to allow everything in the expression and nothing
else. The new line does not seem to be an issue - I can put as many returns
as I want, but as soon as I add some punctuation, it falls apart.

As I said before, the ! and the period from my original example are reported
as invalid - as they are in the expression they should be valid, I'm sure
there are other examples as well, but you can see what the problem is. If I
take out the ! and period from my example and leave the new lines in, it
works fine.

Thanks



> -----Original Message-----
> From: Gregory Beaver [mailto:greg@xxxxxxxxxxxxxxxxx] 
> Sent: February 17, 2007 12:21 PM
> To: Beauford
> Cc: PHP
> Subject:  Re: LOL, preg_match still not working.
> 
> 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('|^[a-zA-Z0-9!?@#$%^&*();:_.\\\\ /\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('|^[a-zA-Z0-9!?@#$%^&*();:_.\\\\\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
> 
> 
> 

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux