PHP Regex - 获取两个字符之间的字符串(lat / lng)

时间:2013-09-15 22:09:37

标签: php regex

在PHP中,我有一个包含lat / lng的字符串,例如:(38.889373, -77.00279599999999)

我想提取第一个数字(纬度),返回38.889373。另外,我想提取第二个数字(lng),返回-77.00279599999999

正规先生每次都踢我的屁股。帮助赞赏!

2 个答案:

答案 0 :(得分:0)

$string = '(38.889373, -77.00279599999999)';
//  $string = str_replace('(','',$string);
//  $string = str_replace(')','',$string);
$string = str_replace(array(')','('),'',$string);


$string = explode(',',$string);

for($i = 0; $i < count($string); $i++) {
   echo $string[$i];
}

答案 1 :(得分:0)

尽管每个人的建议我都认为正则表达式是最简单的方法。我相信我们可以假设每个字符串/行只有两个数字(纬度和经度)。

preg_match_all("/[\d.-]+/", $str, $matches);

对的数组(如果有多个lat / lon集)在$matches[0]中。然后,您可以使用array_chunk($matches[0], 2)