2012-05-15 4 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

이 작동하지 않는 것 같습니다 될 것이다 대가로 JSON의 멋진 조각을 얻을 수 있습니다. 나는 이것을 얻는다 : 배열 ([0] => http://api.hostip.info/get_html.php?ip=xxx.xxx.xxx.xxx) – user1393955

+0

새로운 정규식으로 조정 된 응답 - 시도해라. – GDP