Wie Aaron vorgeschlagen hat. Am besten nicht das Rad neu zu erfinden, so versuchen Sie es Parsen mit simplexml_load_string()
// Init the CURL
$curl = curl_init();
// Setup the curl settings
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);
// grab the XML file
$raw_xml = curl_exec($curl);
curl_close($curl);
// Setup the xml object
$xml = simplexml_load_string($raw_xml);
Sie können nun Zugriff auf jeden Teil des $ xml Variable als ein Objekt, mit dem in Bezug ist hier ein Beispiel von dem, was Sie auf dem Laufenden.
<Response>
<Ip>74.125.45.100</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>06</RegionCode>
<RegionName>California</RegionName>
<City>Mountain View</City>
<ZipPostalCode>94043</ZipPostalCode>
<Latitude>37.4192</Latitude>
<Longitude>-122.057</Longitude>
<Timezone>0</Timezone>
<Gmtoffset>0</Gmtoffset>
<Dstoffset>0</Dstoffset>
</Response>
Jetzt, nachdem Sie diesen XML-String in den simplexml_load_string geladen haben() können Sie die IP-Antwort-Adresse wie so zugreifen.
simplexml_load_string() wandelt wohlgeformte XML-Dateien in ein Objekt um, das Sie bearbeiten können. Das einzige, was ich sagen kann, ist es gehen und ausprobieren und mit ihm spielen
EDIT:
Quelle http://www.php.net/manual/en/function.simplexml-load-string.php
Oder einfach: '$ xml = simplexml_load_file ($ url);' – salathe
Semantik ;-) es war das einzige wirklich funktionierende Beispiel, das ich herumgelegt hatte – WarmWaffles