Ноябрь 12, 2005

Импортирование информации с чужого сайта в свой дизайн (Часть 2)

После ввода информации в файл в виде, получаем:

50
Ларнака
http://weather.yahoo.com/forecast/Larnaca_CY_f.html
51
Пафос
http://weather.yahoo.com/forecast/Paphos_CY_f.html

"44" - номер города.
"Ларнака" - название города.
"http://weather.yahoo.com/forecast/Larnaca_CY_f.html" - ссылка на погоду в городе Ларнака на Яхе.

Ссылки на города организовываются по принципу:
<a href=http://www.czar.ru/weather/weather.php?weather=50>Ларнака</a>

пример:

А можно так:

<a href=http://www.czar.ru/weather/weather.php?city=Ларнака>Ларнака</a>
Но если город из друх слов, то в пробелах пишем "%20"
В таком случае, номера городов в списке не нужны:
Ларнака
http://weather.yahoo.com/forecast/Larnaca_CY_f.html
Пафос
http://weather.yahoo.com/forecast/Paphos_CY_f.html

Если у нас не текстовый файл, а mysql, то все проще.

2. Программа (собственно, адаптер чужого кода к Вашему сайту).

<table width=100% border=0 cellspacing=0 cellpadding=2 bgcolor=<? echo $brdcolor; ?>>
<tr>
<td>
<br>
<!----------------------- FORECAST ------------------------->
<?php
$ini=$DOCUMENT_ROOT.'/weather/weather.ini';
$region=file($ini); // читаем файл со списком городов-ссылок а массив $region

// определение координат искомого города
for ($i=0; $i<sizeof($region); $i++) {
if (trim($region[$i])==$weather) { // ищем номер города в списке
$city=trim($region[$i+1]); // название города
$adr=trim($region[$i+2]); // адрес страницы
}
else {
}
}

// если у нас передается информация не номером города, а названием, то:
for ($i=0; $i<sizeof($region); $i++) {
$city=str_replace($city,"%20"," "); // заменяем "%20" на " "
if (trim($region[$i])==$city) { // ищем название города в списке
$adr=trim($region[$i+1]); // адрес страницы
}
else {
}
}

// Входная информация для дальнейшего кода - $adr
(адрес страницы прогноза погоды для города на сайте
http://weather.yahoo.com) и $city - название города на родном языке.
//

// фразы для поиска полезной информации. Оригинал фраз можно
обнаружить на странице, например, этой, проанализировав код.

// здесь заводим в переменные фразы, по которым будем искать
нужную информацию (градусы, описания погоды, картинки).
Используем фразы до и после необходимой информации.
Этот блок в будущем придется изменять, когда на оригинале
(weather.yahoo.com) изменится код страниц. На 14 авг. 2001 он работает.
$begin_screen='FORECAST ----'; // начальная фраза таблицы с прогнозом погоды
$end_screen='</b></td></tr></table></td></tr></table>';
// последняя фраза таблицы
$post_gradus='</font></b><'; // после градусов
$before_gradus='<font size="3" face="arial">'; // перед градусами
$before_image='http://us.i1.yimg.com/us.yimg.com/i/we/fc/'; // перед картинкой
$post_image='.gif'; // после картинки
$before_forecast='top><font face="arial" size="2">'; // перед фразой погоды
$post_forecast='</font></td><td>'; // после фразы погоды

продолжение следует...

Разместил:

Автор:

Комментарии

1. 13.11.05 14:10 От: Владимир

Вам наверное платят за размер текста?
А ведь краткость - сестра таланта.
Дайте вначале вылизанный код, скажем, для Новосибирска, а потом объясните что почем. Я думаю, это будет полезнее для всех и для Вас в том числе: пока Вы все сделаете как я сказал, заодно и сами поймете...
vilansky@hotpop.com - Владимир

Ваш комментарий

Обсудить на форуме?

Подумайте, прежде чем высказать своё мнение. Постарайтесь сделать свой комментарий полезным для других. Не используйте ненормативную лексику. Пользователи, пишущие "от нечего делать" бессмысленные наборы символов, будут блокироваться навсегда.