我需要解析(47.624718,-122.356133)
或示例或(纬度,长)对的值。
该 url 由以下 JS 生成:
var html = '"<b>'" + name + '"</b> <br/>'" + address + '"<br><br>'" + '"<a id='myLink' href='result.php?'"+point+'"'>Professors here</a>'";
point
var 由以下 js var 生成:
var point = new GLatLng(parseFloat(markers[i].getAttribute('"lat'")),parseFloat(markers[i].getAttribute('"lng'")));
显然,这些值的大小/长度会根据谷歌地图上的点而变化,那么我如何使用 php 解析它以将除()
之外的,
之前的任何内容和,
之后的所有内容都转换为两个变量?
谢谢
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。
你可以写得更简洁,但很容易遵循这种方式
$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);
}