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