Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт извлечения погоды - дублируются дни - как избавиться?
 
 автор: afdm   (06.07.2007 в 11:21)   письмо автору
 
 

Здравствуйте!
Пишу вот такой скрипт (на вывод погоды):


$text = file_get_contents("http://informer.gismeteo.ru/xml/27553_1.xml");

  $pattern = "|<FORECAST day=\"([\d]+)\" month=\"([\d]+)\" year=\"([\d]+)\" ".
  "hour=\"([\d]+)\" tod=\"([\d]+)\" predict=\"([\d]+)\" weekday=\"([\d]+)\".".
  "*<PHENOMENA cloudiness=\"([^\"]+)\" precipitation=\"([^\"]+)\" rpower=\"([^\"]+)\" spower=\"([^\"]+)\".".
  "*<PRESSURE max=\"([\d]+)\" min=\"([\d]+)\".*<TEMPERATURE max=\"([^\"]+)\" ".
  "min=\"([^\"]+)\".*<WIND min=\"([^\"]+)\" max=\"([^\"]+)\" direction=\"([^\"]+)\".".
  "*<RELWET max=\"(\d+)\" min=\"(\d+)\"|isU";

   $text = preg_match_all($pattern, $text, $out);

   for($i = 0; $i < count($out[0]); $i++)
  {
    echo "<b>".$out[1][$i]." ".$out[2][$i].", ".$out[7][$i].", ".$out[5][$i]."</b><br>";
    echo ($out[8][$i].", ".$out[9][$i]."<br>");
    echo "Температура: ".$out[11][$i]."...".$out[10][$i]."°C"."<br>";
    echo "Давление: ".$out[9][$i]."...".$out[8][$i]." мм.рт.ст."."<br>";
    echo "Ветер: ".$direction[$out[14][$i]].", ".$out[12][$i]."...".$out[13][$i]." &#236;/&#241;"."<br>";
    echo "Влажность: ".$out[20][$i]."%"."<br><br>";
  }

В результате чего получается:

6 июля, пятница, день
малооблачно, без осадков
Температура: 0...0°C
Давление: 10...1 мм.рт.ст
Ветер: , 736...734 м/с

Влажность: 28%

6 июля, пятница, вечер
малооблачно, без осадков
Температура: 0...0°C
Давление: 10...1 мм.рт.ст
Ветер: , 736...734 м/с

Влажность: 38%

7 июля, суббота, ночь
ясно, без осадков
Температура: 0...0°C
Давление: 10...0 мм.рт.ст
Ветер: , 738...736 м/с

Влажность: 49%

7 июля, суббота, утро
облачно, без осадков
Температура: 0...0°C
Давление: 10...2 мм.рт.ст
Ветер: , 739...737 м/с

Влажность: 41%

ПОЧЕМУ??? где здесь ошибка???
и ещё..... как мне сделать вывод не всех четырех блоков, а только двух или трёх, как ими управлять, и как для этого нужно исправить цикл?
Всем спасибо заранеее................

   
 
 автор: Faraon   (06.07.2007 в 11:39)   письмо автору
 
   для: afdm   (06.07.2007 в 11:21)
 


<?
$text 
file_get_contents("http://informer.gismeteo.ru/xml/27553_1.xml");

  
$pattern "|<FORECAST day=\"([\d]+)\" month=\"([\d]+)\" year=\"([\d]+)\" ".
  
"hour=\"([\d]+)\" tod=\"([\d]+)\" predict=\"([\d]+)\" weekday=\"([\d]+)\".".
  
"*<PHENOMENA cloudiness=\"([^\"]+)\" precipitation=\"([^\"]+)\" rpower=\"([^\"]+)\" spower=\"([^\"]+)\".".
  
"*<PRESSURE max=\"([\d]+)\" min=\"([\d]+)\".*<TEMPERATURE max=\"([^\"]+)\" ".
  
"min=\"([^\"]+)\".*<WIND min=\"([^\"]+)\" max=\"([^\"]+)\" direction=\"([^\"]+)\".".
  
"*<RELWET max=\"(\d+)\" min=\"(\d+)\"|isU";

   
$text preg_match_all($pattern$text$out);

   for(
$i 0$i count($out[0]); $i++)
  {
    echo 
"<b>".$out[1][$i]." ".$out[2][$i].", ".$out[7][$i].", ".$out[5][$i]."</b><br>";
    echo (
$out[8][$i].", ".$out[9][$i]."<br>");
    echo 
"Температура: ".$out[14][$i]."...".$out[15][$i]."°C"."<br>";
    echo 
"Ветер: ".$out[16][$i]."...".$out[17][$i]." м/с"."<br>";
    echo 
"Давление: ".$direction[$out[14][$i]].", ".$out[13][$i]."...".$out[12][$i]." мм.рт.ст. "."<br>";
    echo 
"Влажность: ".$out[20][$i]."%"."<br><br>";
  }

 
?>

   
 
 автор: afdm   (06.07.2007 в 12:14)   письмо автору
 
   для: Faraon   (06.07.2007 в 11:39)
 

Спасибо Вам огромное!!! СПАСИБИЩЕ!!!!!!!! )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) как же я сам-то не дошёл до этого!!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования