2012-05-15 62 views
0

我正在尝试在我的网络应用程序中使用http://www.hostip.info/use.html来显示IP地址的近似城市位置。我无法弄清楚如何真正显示API的内容......这是我有没有工作。IP地理位置的PHP和API

function showCity($currIP){ 

$lookupData = 'http://api.hostip.info/get_html.php?ip='.$currIP; 
return $lookupData; 

} 

回答

2

你的API返回此:

Country: UNITED STATES (US) 
City: Seattle, WA 
IP: 168.111.127.225 

所以你需要做一些字符串解析该结果。使用下面将让你的开始:

$array = preg_split('/$\R?^:/m', $lookupData); 
print_r($array); 

试试这个:

$array = preg_split("/[\r\n]/", $lookupData, -1, PREG_SPLIT_NO_EMPTY); 

此外,作为被mcmajkel提到的,如果你使用JSON API链接,你可以将它与此:

$lookupData = 'http://api.hostip.info/get_json.php?ip='.$currIP; 
$api = json_decode($lookupData); 
$myName = $api->country_name; 
$myCode = $api->country_code; 
$myCity = $api->city; 
$myIP = $api->ip; 
+0

这似乎并没有工作。我得到这个: Array([0] => http://api.hostip.info/get_html.php?ip=xxx.xxx.xxx.xxx) – user1393955

+0

新的正则表达式调整答案 - 试试看 – GDP