David Pollack wrote:
I need to catch all instances of a coordinate in a give string. So far I have this, which only works if the coordinate is in a certain format. $string = (334,-53.44),(111,222); $expression = '([(][-]?[0-9]*[.0-9]*?,[-]?[0-9]*[.0-9]*?[)])';
here's a horrid little bit of .... for you :) <?php $testStr = <<< EOD > \$string = (334,-53.44),(111,222); > preg_match_all(\$expression, "\$string", \$matches); > > This returns the correct strings (334,-53.44) and (111,222), but Id like > all formats to work. Like (111, 222), ( 111 , 222 ), (111, 222 ), etc, etc. > How would I change my regex to accomplish this? EOD; $coordRE = "(?:[ ]?[-+]?\\d+(?:\\.\\d+)?[ ]?)"; $coordsRE = "#(\\({$coordRE},{$coordRE}\\))#"; $matches = array(); preg_match_all($coordsRE, $testStr, $matches); var_dump($testStr, $matches); ?>
preg_match_all($expression, "$string", $matches);
^-- why ? ... are you wrapping the variable in double quotes?
This returns the correct strings (334,-53.44) and (111,222), but I'd like all formats to work. Like (111, 222), ( 111 , 222 ), (111, 222 ), etc, etc. How would I change my regex to accomplish this? -- David Pollack DHPollack@xxxxxxxxx www.atlspecials.com <http://www.atlspecials.com> www.da3.net <http://www.da3.net>
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php