Вы можете получить XML-ответ от hostip.info, если используете следующий URL:
http://api.hostip.info/?ip=193.148.1.1
вместо:
http://api.hostip.info/get_html.php?ip=193.148.1.1
Затем вы можете анализировать XML, который является более чистым, чем Regex, и, вероятно, более невосприимчивым к возможным изменениям форматирования вывода.
Это пример анализа вывода:
$response = file_get_contents('http://api.hostip.info/?ip=193.148.1.1');
$xml = new DOMDocument();
$xml->loadXml($response);
$xpath = new DOMXpath($xml);
$path = '/HostipLookupResultSet/gml:featureMember/Hostip/';
$ip = $xpath->evaluate($path . 'ip')->item(0)->nodeValue;
$city = $xpath->evaluate($path . 'gml:name')->item(0)->nodeValue;
$countryName = $xpath->evaluate($path . 'countryName')->item(0)->nodeValue;
$countryAbbrev = $xpath->evaluate($path . 'countryAbbrev')->item(0)->nodeValue;