RE: [PHP] Regex
| From: | bruce | Date: | Fri, 27 Mar 2009 00:22:32 +0000 |
| Subject: | RE: [PHP] Regex | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-290726@lists.php.net to get a copy of this message | ||
hi...
if you haven't solved your issue... can you tell me in detail what you're
trying to accomplish? what are the steps to running the script?
thanks
-----Original Message-----
From: Jesse.Hazen@arvatousa.com [mailto:Jesse.Hazen@arvatousa.com]
Sent: Thursday, March 26, 2009 1:23 PM
To: php-general@lists.php.net
Subject: [PHP] Regex
Hi,
Brand new to regex. So I have a cli which runs a regex on users input,
to make sure that only 0-9 and A-Z are accepted. It should strip
everything else. My problem is that when you press control-Z (on
Windows; I have not yet tested this on linux, and I will, but I would
like this to be compatible with both OS's) it loops infinitely saying
invalid data (because of the next method call, which decides what to do
based on your input). So, here is the input code. Is there a way I can
ensure that control commands are stripped, here?
public function getSelection() {
$choice =
$this->validateChoice(trim(strtoupper(fgets(STDIN))));
return $choice;
}
private function validateChoice($choice) {
$choice =
ereg_replace("/[^0-9A-Z]/","",$choice);
return $choice;
}
I have tried a ton of different things to try and fix this. Tried
/\c.|[^0-9A-Z]/, and many variations of \c and the [^0-9A-Z], to no
avail. I also tried using both preg_replace() as well as ereg_replace().
I spent a lot of time on the regex section of the PHP manual, but I am
not finding anything. Any advise on how to accomplish this?
Thanks,
Jesse Hazen