我想将此谷歌地图网址“http // maps.google.com / maps?f = q& q = 14.674518%2C120.549043& z = 16”转换为纬度和经度值。
这是我的代码:
$string='http://maps.google.com/maps?f=q&q=14.674518%2C120.549043&z=16';
$regex=' , http://maps\.google\.com/maps\?q=\K[^&]+,';
preg_match($regex,$string,$m);
echo $m[0].'<br />';
谢谢!
答案 0 :(得分:1)
PHP中提供了很好的URL函数(parse_url()
和parse_str()
):
<?php
$query = array();
//parse the url to get the QUERY_STRING
$urlParts = parse_url('http://maps.google.com/maps?f=q&q=14.674518%2C120.549043&z=16');
//parse the QUERY_STRING to get the variables
parse_str($urlParts['query'], $query);
echo $query['q'];
//returns 14.674518,120.549043
?>
答案 1 :(得分:0)
我添加了一个小改动,以便在上面的代码中获得清晰的结果:
parse_str(htmlspecialchars_decode($urlParts['query']), $query);