我需要解析(47.624718,-122.356133)
或示例或(lat,long)对的值。
该url由以下JS生成:
var html = \"<b>\" + name + \"</b> <br/>\" + address + \"<br><br>\" + \"<a id='myLink' href='result.php?\"+point+\"'>Professors here</a>\";
这个js var:
生成point
var
var point = new GLatLng(parseFloat(markers[i].getAttribute(\"lat\")),parseFloat(markers[i].getAttribute(\"lng\")));
显然这些值的大小/长度根据谷歌地图上的点而有所不同,所以我如何使用php解析此问题以获取,
之前的任何内容以及,
之后()
之外的所有内容变成两个变量?
由于
答案 0 :(得分:1)
php > preg_match("/(-?[0-9]+(.[0-9]+)?),(-?[0-9]+(.[0-9]+)?)/","(42.3,-59.0)",$matches); print_r($matches);
Array
(
[0] => 42.3,-59.0
[1] => 42.3
[2] => .3
[3] => -59.0
[4] => .0
)
php >
由于括号的嵌套方式,索引是这样排序的。只需使用索引1和3。
答案 1 :(得分:1)
你可以更简洁地写出来,但这很容易遵循
$latlon = "(42.3,-59.0)";
list($lat, $lon) = string_to_lat_lon($latlon);
function string_to_lat_lon($string) {
$string = str_replace('(', '', $string); // remove leading bracket
$string = str_replace(')', '', $string); // remove trailing bracket
return explode(',', $string);
}