|
|
|
|
$table_weather = file_get_contents("http://www.gismeteo.ru/towns/27612.htm");
$pattern = "|frc='(.*?)<tr><td bgcolor=FFFFFF>Комфорт|is";
$table_weather = preg_match($pattern, $table_weather, $out);
echo "".$out[1]."</table>";
|
Как можно разобрать полученную таблицу на переменные?
Примерно так, чтобы каждый столбец таблицы состоял из 7 переменных: дата, облачность, осадки, давление, температура, влажность и ветер?
Можно разобрать каждую строку таблицы, примерно так (сорри за длинный код):
$pattern_2 = "|<tr><td bgcolor=F0F0F0>Температура,°C</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td><td align=center bgcolor=#\w\w\w\w\w\w>(.*?)</td></tr>|is";
$tr_davlenie = preg_match($pattern_2, $out[1], $out_2);
for($i = 1; $i < 12; $i++)
{
echo "".str_replace('<br>', ' ... ', $out_2[$i])."<br>";
}
|
Можно ли сделать проще? Заранее спасибо. | |
|
|
|
|
 3.9 Кб |
|
|
для: kis-kis
(19.01.2009 в 16:13)
| | Вот, что получилось (вложение).
А как привести дату к виду 0000-00-00? | |
|
|
|
|
|
|
|
для: kis-kis
(19.01.2009 в 18:30)
| | Никто не подскажет? | |
|
|
|
|
|
|
|
для: kis-kis
(20.01.2009 в 12:12)
| | а в каком виде она у Вас сейчас? | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2009 в 12:39)
| | День 20 янв | |
|
|
|
|
|
|
|
для: kis-kis
(20.01.2009 в 13:05)
| | Год отсюда всяко не получить.
А остальные названия месяцев как сокращены?
<?php
$t = "2 мар";
$v = explode(' ', $t);
if(preg_match(
'/^(янв)|(фев)|(---)|(---)|(---)|(---)|(---)|(---)|(---)|(---)|(ноя)|(дек)$/',
$v[1], $m))
$v[1] = max(array_keys($m));
$v[2] = $v[0];
$v[0] = '1995';
$r = vsprintf("%04d-%02d-%02d", $v);
echo $r;
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(20.01.2009 в 13:30)
| | Не знаю как это проверить, но думаю также из трех букв (корректировку можно потом сделать).
Предложенный мною вариант подходит для погоды на три ближайших дня, а чтобы сделать на 10 необходимы дополнения, т.к. таблица прогноза на следующие дни отличается от данного все 2 словами (было: Температура,°C, стало Температура воздуха, °C и было: Влажность,%, стало Относительная влажность,%. Можно ли это учесть в данном шаблоне? Спасибо. | |
|
|
|
|
|
|
|
для: kis-kis
(20.01.2009 в 13:49)
| | с ошибками у Вас шаблон. взять хотя бы bgcolor=FFFFFF . Нет там такого. Да и нигде не может быть. | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2009 в 13:53)
| | Поверьте мне, это не у меня ошибка в шаблоне, а на gismeteo.
Есть ли еще ошибки? | |
|
|
|
|
|
|
|
для: kis-kis
(20.01.2009 в 14:08)
| | Тогда, пардон.
Парсить код gismeteo у меня желания нет. У него, кстати, тоже. | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2009 в 14:20)
| | >>У него, кстати, тоже.
Вы что имели ввиду?
А откуда Вы считаете лучше парсить прогноз погоды? | |
|
|
|
|
|
|
|
для: kis-kis
(20.01.2009 в 14:32)
| | >>>У него, кстати, тоже.
>Вы что имели ввиду?
Только то, что сказал.
Что владельцы gismeteo не считают несогласованную с ними публикацию данных сервера корректным использованием их ресурса.
Насколько я себе представляю, при согласованной публикации, вопросы предоставления информации в удобном виде они берут на себя. | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2009 в 14:51)
| | Понял, Вы про авторское право...
Какой ресурс Вы считаете подходящим для получения погоды? | |
|
|
|