cURL не получает данные XML в правильном формате - PullRequest
0 голосов
/ 06 апреля 2010

Я использую следующий код с cURL:

function _getStatsDataXMLString($url) {

    $curl = curl_init();

    curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)');

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($curl, CURLOPT_URL, $url);

    $xmlstr = curl_exec($curl);

    curl_close($curl);

    return $xmlstr;

}

Сайт, с которого я пытаюсь получить доступ: http://xml.heroesofnewerth.com/xml_requester.php?f=player_stats&opt=nick&nick[]=yanagafol

Всякий раз, когда я пытаюсь запросить данные с помощью вышеуказанногофункция, строка, которую он генерирует является: yanagafol173957844341541169317315000150000.009142347141111962425534613119823402602572171277264755751031151494960762160734306050303782332556000164255279111749522139194314968322760755616358407012000000011

1008 * Я получаю такую ​​же распечатку с print_r 1010 * он отстоит должным образом, но не имеет какой-либо информации XML-тегов, поэтому я могуне конвертировать его в объект для использования с моей базой данных.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 07 апреля 2010

Попробуйте использовать htmlspecialchars для кодирования специальных символов в строке, чтобы они распечатывались как литералы:

$xmlstr = htmlspecialchars(curl_exec($curl));

Обратное значение равно htmlspecialchars_decode, а htmlentities дает вам больше контроля над тем, что кодируется.

...