If you want help, you must provide some example text strings that are to be
matched. You keep posting your pattern and that's the problem.
Beauford wrote:
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