RE: [PHP] Reg Exp Help
| From: | Zach Curtis | Date: | Fri, 25 Jan 2002 19:03:11 +0000 |
| Subject: | RE: [PHP] Reg Exp Help | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-82144@lists.php.net to get a copy of this message | ||
YES! I was working that out as well.
One correction though, this line should read:
$temp_int_id = trim(substr($file_array[$i], 21, 4));
I guess the lesson learned is to use substr() when the length of the $string
is fixed. Since I have to use substr() and trim() twice, I wonder if this
has more or less overhead than a single regular expression?
Thank you.
Zach
-----Original Message-----
From: Edward van Bilderbeek - Bean IT [mailto:edward@bean-it.nl]
Sent: Friday, January 25, 2002 11:36 AM
To: Zach Curtis
Subject: Re: [PHP] Reg Exp Help
You said:
> The password and int_id begin and end in fixed positions.
>
> password begins in position 13 and can occupy up to 8 characters
> int_id begins in position 21 and can occupy up to 4 characters
>
> Sometimes a password (or int_id) may occupy all of those fixed position or
> only some of the fixed positions, it's variable.
so that would make the code like this:
> Here is part of my actual code, if that makes any difference.
>
> $password // this var was retrieved from db
> $int_id // this var was retrieved from db
>
> $file_array = file("$DOCUMENT_ROOT/dir/file.dat");
> $count = count($file_array);
> if ($count == 0)
> echo "<p>No records found in .dat file.</p>";
>
> for ($i = 0; $i < $count; $i++)
> {
$temp_pass = trim(substr($file_array[$i], 13, 8));
$temp_int_id = trim(substr, $file_array[$i], 21, 4));
if ($temp_pass == $password && $temp_int_id == $int_id)
> {
> // do stuff
> }
> }
>
>
> Zach
>
> -----Original Message-----
> From: Edward van Bilderbeek - Bean IT [mailto:edward@bean-it.nl]
> Sent: Friday, January 25, 2002 10:29 AM
> To: Zach Curtis
> Subject: Re: [PHP] Reg Exp Help
>
>
> but if the positions as fixed, why don't you use the substr, and then trim
> th result?
>
> Edward
>
> ----- Original Message -----
> From: "Zach Curtis" <zach@populus.com>
> To: "Edward van Bilderbeek - Bean IT" <edward@bean-it.nl>
> Cc: <php-general@lists.php.net>
> Sent: Friday, January 25, 2002 6:12 PM
> Subject: RE: [PHP] Reg Exp Help
>
>
> > The password and int_id begin and end in fixed positions.
> >
> > password begins in position 13 and can occupy up to 8 characters
> > int_id begins in position 21 and can occupy up to 4 characters
> >
> > Sometimes a password (or int_id) may occupy all of those fixed position
or
> > only some of the fixed positions, it's variable.
> >
> >
> > Zach
> >
> > -----Original Message-----
> > From: Edward van Bilderbeek - Bean IT [mailto:edward@bean-it.nl]
> > Sent: Friday, January 25, 2002 9:58 AM
> > To: Zach Curtis
> > Subject: Re: [PHP] Reg Exp Help
> >
> >
> > how can I see that it isn't a 6 char $password with a 3 char $int_id ??
> >
> > > This one has a 8 character $password, followed by zero white spaces,
> > > followed by a single character $int_id
> > > 7d2ad345b
> >
> > Edward
> >
> >
> > ----- Original Message -----
> > From: "Zach Curtis" <zach@populus.com>
> > To: <php-general@lists.php.net>
> > Sent: Friday, January 25, 2002 5:51 PM
> > Subject: [PHP] Reg Exp Help
> >
> >
> > > I am trying to code a regular expression that will match at the
> beginning
> > of
> > > the string the contents of $password, followed by 0 or more
occurrences
> of
> > > white space, followed by the contents of $int_id. The match should be
> case
> > > insensitive.
> > >
> > > Here are some examples of the strings:
> > >
> > > This one has a 6 character $password, followed by two white spaces,
> > followed
> > > by a single character $int_id
> > > 9a9b9c z
> > >
> > > This one has a 8 character $password, followed by zero white spaces,
> > > followed by a single character $int_id
> > > 7d2ad345b
> > >
> > > This one has a 5 character $password, followed by three white spaces,
> > > followed by a four character $int_id
> > > d22ad bbaw
> > >
> > >
> > > Here is the regular expression I am trying to use that does not find
the
> > > match and produces "Warning: REG_BADRPT".
> > >
> > > (eregi("^\$password+[[:space:]]*+\$int_id", $file_array[$i]))
> > >
> > > Any corrections? Thanks in advance.
> > >
> > >
> > > Zach Curtis
> > > POPULUS
> > >
> > >
> > > --
> > > PHP General Mailing List (http://www.php.net/)
> > > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net
> > > For additional commands, e-mail: php-general-help@lists.php.net
> > > To contact the list administrators, e-mail:
php-list-admin@lists.php.net
> > >
> >
> >
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net
> > For additional commands, e-mail: php-general-help@lists.php.net
> > To contact the list administrators, e-mail: php-list-admin@lists.php.net
> >
>
>