[recovery mode] Отображение погоды на Вашем сайте

Думаю очень многие знают о информерах для сайта от Яндекс.Погоды. Но не всегда нам нужно такое отображение данных, которое даёт нам сам Яндекс. В этом посте я расскажу, как сделать отображение погоды без официальных информеров. Кроме этого, погода будет показываться посетителю Вашего сайта в зависимости от его региона.Итак, приступим. Первое, что нам нужно — это ссылка экспорта погоды Яндексаhttp://export.yandex.ru/weather/Она отдаёт нам всю нужную информацию в XML-виде:

10 7 2014 Москва Россия облачно с прояснениями http://weather.yandex.ru/i/df102.gif http://weather.yandex.ru/i/6.png +16 751 62 Теперь осталось обработать эту информацию — достать нужные нам данные в переменные

$pogoda = file_get_contents ('http://export.yandex.ru/weather/'); preg_match ('/(.*?)<\/weather_type>/i',$pogoda,$type); preg_match ('/(.*?)<\/dampness>/i',$pogoda,$vlaga); preg_match ('/(.*?)<\/temperature>/i',$pogoda,$temp); preg_match ('/(.*?)<\/image2>/i',$pogoda,$img2); preg_match ('/(.*?)<\/pressure>/i',$pogoda,$press); $imgp = substr ($img2[1], 24); И вывести всё это на экран в любом удобном для нас виде:

$vivod = »\"$type[1]\"$temp[1] °C $type[1]
Влажность: $vlaga[1] %
Давление: $press[1] мм рт.ст.»; echo $vivod; В результате у нас получается нечто подобное: 2cedd2f31f2b87f663218c45ba2fb2a7.png

Можно поиграть с css, выводить в добавок дату, время, город и размещать данные в нужном Вам порядке.

Цельный код Погода (.*?)<\/weather_type>/i',$pogoda,$type); preg_match ('/(.*?)<\/dampness>/i',$pogoda,$vlaga); preg_match ('/(.*?)<\/temperature>/i',$pogoda,$temp); preg_match ('/(.*?)<\/image2>/i',$pogoda,$img2); preg_match ('/(.*?)<\/pressure>/i',$pogoda,$press); $imgp = substr ($img2[1], 24); $vivod = »\"$type[1]\"$temp[1] °C $type[1]
Влажность: $vlaga[1] %
Давление: $press[1] мм рт.ст.»; echo $vivod; ?>

© Habrahabr.ru