Pull to refresh

Простой информер погоды

Reading time1 min
Views3.7K
Недавно мне понадобилось разместить на сайте небольшой погодный информер те варианты, что предлагаются на гисметео не подошли.
После длительного поиска по интернету было обнаружено несколько вариантов разбора кода xml который передает гисметео, но все они были очень сложны и запутаны…
Пришлось написать свой )) получилось на мой взгляд достаточно элегантно… может кому пригодиться.

$url='http://informer.gismeteo.ru/xml/27612_1.xml';
$content=file_get_contents($url);
$xml = simplexml_load_string($content);
$tod_array=array('ночь', 'утро','день','вечер');
$rumb_array=array('C', 'СВ', 'В', 'ЮВ', 'Ю', 'ЮЗ', 'З', 'СЗ');
$text='';
if($xml){
$text.='<div class=«block-head red»><h3><a href="#">Прогноз погоды</a></h3></div><div class=«iTable»><table width=«100%»>';
foreach($xml->REPORT->TOWN->FORECAST as $value){
$tod=(int)$value->attributes()->tod;
$text.='<tr><td>'.$tod_array[$tod].'</td><td>'.(int)$value->TEMPERATURE->attributes()->min.' — '.(int)$value->TEMPERATURE->attributes()->max.' ° C</td><td>'.(int)$value->WIND->attributes()->min.' — '.(int)$value->WIND->attributes()->max.' м\с '.$rumb_array[(int)$value->WIND->attributes()->direction].'</td></tr>';
}
$text.='</table></div>';
}else{
$text.='<b>Информация не доступна</b>';
}
echo $text;
Является кроспостом с моего блога
Tags:
Hubs:
Total votes 11: ↑7 and ↓4+3
Comments18

Articles