我遇到了问题
我尝试在parantheses之间获取文本
例如这是输入
$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
提前谢谢
答案 0 :(得分:2)
您应该在此正则表达式preg_match
中使用/google\.maps\.LatLng\(([^)]+)\)/
功能,或者如果您希望分隔组中的每个数字都使用/google\.maps\.LatLng\(([^,]+),([^)]+)\)/
。
答案 1 :(得分: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"
答案 2 :(得分: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