XML输出并排显示

时间:2014-09-12 16:58:26

标签: php html css xml echo

我有一个使用XML工作的地理位置api,例如:http://freegeoip.net/xml/31.44.188.50

我在我的网站上使用了这个XML api,所以我制作了一个地理位置扫描仪,但出于某些原因输出时,IP /国家/邮政编码等......它并排显示,令人困惑,我的问题是如何使输出低于彼此或在表格中。

我的代码:

    <input type="text" name="username" style="text-align: center;" placeholder=" IP address" />
    <input type="submit" name="submit" class="" value="Resolve" />

.`

if (isset($_POST['submit'])) {
$name = $_POST['username'];
$blacklist = array("100.100.100","123.123.123");
$ip = $_SERVER['REMOTE_ADDR'];
if(in_array($name,$blacklist))
{
    echo "No";
else
$api1 = file_get_contents("http://freegeoip.net/xml/$name");
echo "<div style='display: block; color: red; font-weight: bold;>'  $api1  </div>";


}
}

?>

它的外观如何: 31.44.188.50 NL Netherlands 07 Noord-Holland Amsterdam 52.35 4.9167

这就是我想要的:

  • IP地址: 31.44.188.50
  • 国家: NL荷兰
  • 城市: Noord-Holland Amsterdam

1 个答案:

答案 0 :(得分:0)

使用SimpleXML:

$xml = simplexml_load_file("http://freegeoip.net/xml/31.44.188.50");
echo 'IP : ', $xml->Ip, '<br>';
echo 'Country code : ', $xml->CountryCode, '<br>';
echo 'Country name : ', $xml->CountryName, '<br>';
echo 'City : ', $xml->City, '<br>';

输出:

IP : 31.44.188.50
Country code : NL
Country name : Netherlands
City : Amsterdam

有关文档的更多示例和说明: http://php.net/manual/en/book.simplexml.php