Распарсить значения в переменные

vano22

Новичок
Распарсить значения в переменные

Хочу написать функцию для вывода значений счётчика
http://counter.yadro.ru/values?site=sape.ru

начал писать
PHP:
$url='sape.ru';
//function li($url){
    $file=file_get_contents("http://counter.yadro.ru/values?site=$url");
    $file=str_replace(array(' ',';',"'"),'',$file);
    $file=explode("\r\n",$file);
    foreach ($file as $value) {
    $value=explode('=',$value);
    print_r($value);
  ..
  ..
    }
    
//return $file;
//}
И понял что это не правильно. а как проще - незнаю

на выходе функции нужно иметь значения в чёмто типа этого
PHP:
$li[LI_month_hit]
$li[LI_month_vis]
....
..

ps на яваскрипте это делают примерно так http://delpher.od.ua/archives/131
а как на пхп сделать проще я немогу придумать.
Подскажите пожалуйста
 

Nicholas

Новичок
я бы сделал регуляркой.
что-то типа preg_match_all('/(.+)=(.+);/', $file, $matches)
а далее что-то типа
return array_combine( $matches[1], $matches[2] )
 

Фанат

oncle terrible
Команда форума
vano22
непонятно, чего ты хочешь. сократить код из 8 строчек до 6? это так принципиально важно?

И при чем здесь то, как делают на яваскрипте? На яваскоипте делают не "это" (получение ассоциативного массива), а включают код счетчика в код скрипта. Занятие для самоубийц.
Ты определись сначала, что тебе надо, а потом спрашивай.
 

vano22

Новичок
Nicholas, спасибо, именно то что нужно.

*****, мне важно правильное исполнение, а моя "городьба" хоть и работает но как по мне так ужасна.
На яваскрипте тоже берут переменные, хотя ты прав.
 

Фанат

oncle terrible
Команда форума
ничего ужасного в твоей городьбе нет.
это вообще не то, на что надо обращать внимание.
если знаешь регулярки - пиши регулярками.
не знаешь - пиши, как умеешь, хуже от этого никому не будет.

Что еще за "правильное исполнение"? Какие критерии правильности? 2 строчки вместо 4-х?

Правильное исполнение - это не ставить скорость работы своего скрипта в зависимость от скорости работы постороннего сервера. Замедляя его в лучшем случае в десятки раз. Вот это будет правильное исполнение.
 

fixxxer

К.О.
Партнер клуба
а я бы заглянул в мануал и нашел там функцию которая прямо для этого и предназначена.
 

fixxxer

К.О.
Партнер клуба
только что проверил, работает, правда почему-то хочет allow_url_include=on (allow_url_fopen ей недостаточно)
 
Сверху