it's true my example is bad
I no evaluate the last line

sorry !!!


----- Original Message ----- 
From: "CPT John W. Holmes" <[EMAIL PROTECTED]>
To: "Jonatan Pugliese." <[EMAIL PROTECTED]>; "Matt Matijevich"
<[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, August 20, 2003 5:44 PM
Subject: Re: [PHP] String parsing help


> From: "Jonatan Pugliese." <[EMAIL PROTECTED]>
> > From: "Matt Matijevich" <[EMAIL PROTECTED]>
> > > I have have a string that I need to split into 3 different variables:
> > > City,State, and Zip.  Here is a couple examples of the strings I need
to
> > > parse:
> > >
> > > ANCHORAGE  AK  99507-6420
> > > JUNEAU  AK  99801
> > > NORTH LITTLE ROCK  AR  72118-5227
> > >
> > > Does anyone have an idea how I could slit this into the appropriate
> > > variables, maybe some kind of regular expression?  I cant use the
space
> > > character to split the data because some of the city names have spaces
> > > in them.
> >
> > $vector=split( " ", $string, );
> >
> >
> > $City=$vector[0];
> > $State=$vector[1];
> > $Zip=$vector[2]:
>
> Umm, no. then you'll have $City = "North", $State = "Little" and $Zip =
> "Rock" with the last example.
>
> The following works:
>
> <?php
>
> $str = "NORTH LITTLE ROCK  AR  72118-5227
> JUNEAU  AK  99801
> ANCHORAGE  AK  99507-6420
> NORTH CARO  MI  48732
> ";
>
>
preg_match_all('/^(.*)([a-z]{2})\s+([0-9]{5}(-[0-9]{4})?)/im',$str,$matches)
> ;
>
> $count = count($matches[1]);
>
> echo $count . ' addresses found:<br />';
>
> for($x=0;$x<$count;$x++)
> {
>     $city = trim($matches[1][$x]);
>     $state = trim($matches[2][$x]);
>     $zip = trim($matches[3][$x]);
>     echo "City: $city, State: $state, ZIP: $zip<br />";
> }
>
> ?>
>
> ---John Holmes...
>
>
> -- 
> 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

Reply via email to