Ноябрь 18, 2005
Импортирование информации с чужого сайта в свой дизайн (окончание)
// Можно ее выводить в "родном дизайне, но нам это не нравится
// Начинаем искать полезную информацию.
$grad=array(9); // массив из 10 чисел градусов температуры окружающей среды
$zed=0; // счетчик градусов
for ($i=$k; $i<=$m; $i++) { //работаем с градусами
if (strpos($screen[$i],$before_gradus,0)==false) { //если нет градусов в строке (если нет фразы, стоящей перед градусами.
}
else {// если есть градусы в строке
$string_grad=$screen[$i]; // сохраняем строку с градусами в переменную
$string_grad=explode($before_gradus,$string_grad); // разбиваем строку на массив строк по разделителю, которым является фраза перед градусами, таким образом, мы получаем в 1 элементе массива строку, которая начинается собственно с самого градуса погоды.
$end_grad=strpos($string_grad[1],$post_gradus,0); // определяем позицию начала фразы, идущей после градуса.
$grad[$zed]=substr($string_grad[1],0,$end_grad); // первый градус получаем, как подстрока, с 0-го символа до начала фразы после градуса.
$zed++; // инкремент счетчика градусов
$end_grad=strpos($string_grad[2],$post_gradus,0);
$grad[$zed]=substr($string_grad[2],0,$end_grad); // второй градус
$zed++; // инкремент счетчика градусов
}
} // в результате чего, мы получили все градусы на нашей странице
// переводим фаренгейты в цельсии
for ($i=0; $i<=9; $i++) {$grad[$i]=round(5/9*($grad[$i]-32));
}
// в варианте с забиранием информации со страницы с цельсиями
// эту строку стоит просто закомментировать. Я оставил так, просто каприз.
// переводим фаренгейты в цельсии
// находим слова погоды абсолютно аналогично поиску градусов
$zed=0; // счетчик описаний погоды
for ($i=$k; $i<=$m; $i++) { //работаем с описаниями
if (strpos($screen[$i],$before_forecast,0)==false) { //если нет описания погоды в строке
}
else {// если есть описания в строке
$string_grad=$screen[$i]; // сохраняем строку с описаниями в переменную
$string_grad=explode($before_forecast,$string_grad);
$end_grad=strpos($string_grad[1],$post_forecast,0);
$forec[$zed]=substr($string_grad[1],0,$end_grad);
for ($j=0; $j<sizeof($eng); $j++) { // перебираем все варианты слов в описаниях
$forec[$zed]=str_replace($eng[$j],$rus[$j],$forec[$zed]); // переводим слова
}
$zed++; // инкремент счетчика описаний
}
} // в результате чего, мы получили все описания погоды на нашей странице
$zed=0; // счетчик слов картинок аналогично
for ($i=$k; $i<$m; $i++) { //работаем с картинками
if (strpos($screen[$i],$before_image,0)==false) { //если нет описания погоды в строке
}
else {// если есть картинки в строке
$string_grad=$screen[$i]; // сохраняем строку с картинками в переменную
$string_grad=explode($before_image,$string_grad);
$end_grad=strpos($string_grad[1],$post_image,0);
$for_img[$zed]=substr($string_grad[1],0,$end_grad);
$zed++; // инкремент счетчика картинок
}
} // в результате чего, мы получили все картинки на нашей странице
?>
// публикуем результаты:
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr><td width=20% align=center><font size=3><b
><? echo $city; // выводим название города, для которого отображается прогноз погоды
?></b><br></font></td></tr></table
><table width=100% cellpadding=0 cellspacing=0 border=0>
<tr><?
for ($i=0; $i<=4; $i++) { // выводим на экран ячейки с датами и днями
echo "<td width=20% align=center><font size=2><b>$d[$i]
< br>$dn[$i]</b></font></td>";
}
?></tr
></table
><table width=100% cellpadding=0 cellspacing=0 border=0 bgcolor=<? echo $brdcolor; ?>
><tr><td
><table width=100% cellpadding=2 cellspacing=1 border=0
><tr><?
$zed=0; // счетчик выводимых градусов
for ($i=0; $i<=4; $i++) { // выводим ячейки с прогнозами - картинки, градусы, описания
$zed1=$zed+1;
echo "<td width=20% align=center bgcolor=$bgcolor valign=middle><img
src=../pic/".$for_img[$i].".gif border=0 alt=".$forec[$i]."><br><br><font size=2>".$forec[$i]."</font><br><br><font size=3><b>".$grad[$zed]."°C<br>".$grad[$zed1]."°C</b></font></td>";
$zed=$zed+2;
}
?>
</tr></table>
// картинки можно привязать к картинкам Яхи (названия аналогичных по погоде совпадают, как в моем случае), а можно сделать массивы соответствия слов-описаний погоды и Ваших картинок. Это по-желанию. Что долговечнее, трудно судить. И фразы-описания они могут изменить, и картинки переименовать. Можно, конечно договориться с админом Яхи, чтобы они не меняли один из этих элементов и отталкиваться от него, но у меня не было его телефона:о)
</td>
</tr>
</table>
Теперь программа работает, и ее можно вставлять в свой дизайн.
Разместил:
Автор: