-1

我有问题

我尝试获取括号之间的文本

例如这是输入

$str = "var map = new google.maps.Map(document.getElementById('tlt_map'), { minZoom: 9,  zoom: 14, center: new google.maps.LatLng(33.5802, -7.63349), mapTypeId: google.maps.MapTypeId.ROADMAP });"; 

对于我想要的输出:

33.5802, -7.63349

先感谢您

4

3 回答 3

2

你应该使用preg_match这个正则表达式的函数,/google\.maps\.LatLng\(([^)]+)\)/或者如果你希望每个数字在单独的组中使用/google\.maps\.LatLng\(([^,]+),([^)]+)\)/

于 2013-07-29T12:51:36.783 回答
0
$str = "var map = new google.maps.Map(document.getElementById('tlt_map'), { minZoom: 9,  zoom: 14, center: new google.maps.LatLng(33.5802, -7.63349), mapTypeId: google.maps.MapTypeId.ROADMAP });"; 
$newStr = preg_replace('#^.+\.maps\.LatLng\(([^\)]+)\).+$#','$1',$str);
var_dump($newStr);//string(17) "33.5802, -7.63349" 
于 2013-07-29T12:54:18.687 回答
0
$str = "var map = new google.maps.Map(document.getElementById('tlt_map'), { minZoom: 9,  zoom: 14, center: new google.maps.LatLng(33.5802, -7.63349), mapTypeId: google.maps.MapTypeId.ROADMAP });"; 

preg_match('/google.maps.LatLng\(([^,]+),([^)]+)\)/', $str, $matches);

echo $matches[1]; // 33.5802
echo $matches[2]; // -7.63349
于 2013-07-29T12:54:31.403 回答