2013-07-29 3 views
-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 

спасибо заранее

+0

я думаю, что у вас есть ошибочное JS обозначения массива в виде строки –

+0

вопрос не был ясен, я обновленным сейчас, спасибо :) – CodeLion

ответ

2

Вы должны использовать функцию preg_match с этим регулярным выражением /google\.maps\.LatLng\(([^)]+)\)/ или если вы хотите, чтобы каждый номер в отдельной группе использовал /google\.maps\.LatLng\(([^,]+),([^)]+)\)/.

+0

Большого спасибо! это сработало! – CodeLion

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" 
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 
Смежные вопросы