Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 19.09.2008, 18:29   #1
Неактивный пользователь
 
Пол:Женский
Регистрация: 28.02.2005
Сообщений: 23
Репутация: 1
По умолчанию XML парсер для Gismeteo.ru

Помогите сделать xml парсер для получения информации о погоде с сайта gismeteo.ru с последующим выводом информации в виде html странички с текстом для последующей публикации на моем сайте. Вещь нужная и многим требующаяся (судя по отзывам в сети), но до сих пор не реализованная в виде пособия для чайников (коим я и являюсь).
kettle вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Чужой Ромул рецензиявентилятор wrw 50-30/25-4dбинокуляры для ювелировкупить билеты руки вверх 2026 - redkassa.rulenovo ideapad slim 3 16ahp10


Старый 23.11.2008, 06:38   #2
shmeks
Неактивный пользователь
 
Регистрация: 23.11.2008
Сообщений: 2
Репутация: 1
По умолчанию Re: XML парсер для Gismeteo.ru

Код:
function xml_to_ini($file){
	$contents	= null;
	$item		= 0;
	$open		= file($file);
	foreach($open as $line){
		if(strstr($line, '<item>')) $line = str_replace('<item>', '[item_'.$item++.']', $line);
		if(!strstr($line, '<?xml') and !strstr($line, '<rss') and !strstr($line, 'rss>') and !strstr($line, 'channel>') and !strstr($line, '<link') and !strstr($line, '<category') and !strstr($line, '<enclosure') and !strstr($line, '<source') and !strstr($line, '<guid') and !strstr($line, '</item>')) $contents.= $line;
	}
	list($tmp, $contents)=explode("</image>\r\n", $contents);
	$contents = str_replace('   ', '', $contents);
	$contents = str_replace('  ', '', $contents);
	$contents = str_replace('<title>', 'title = \'', $contents);
	$contents = str_replace('</title>', '\';', $contents);
	$contents = str_replace('<description>', 'value = \'', $contents);
	$contents = str_replace('</description>', '\';', $contents);
	$fp = fopen('base.ini', 'w+');
	$fw = fwrite($fp, $contents);
	fclose($fp);
}

function parse_ini($file){
	$arr=null;
	$open=file($file);
	foreach($open as $line){
		$line=str_replace("\r\n", '', $line);
		if(substr($line, 0, 1)!=';'){
			if(!empty($line)){
				if(preg_match("/\[(.*?)\]/i", $line)){
					$par=preg_replace("'\[(.*?)\]'", '\\1', $line);
				}else{
					if(preg_match("/(.*?)=(.*?);/i", $line)){
						$line=str_replace(' = ', '=', $line);
						$line=str_replace(' =', '=', $line);
						$line=str_replace('= ', '=', $line);
						list($key, $value)=explode('=', $line);
						list($value, $tmp)=explode(';', $value);
						$key=str_replace(' ', '',$key);
						$value=preg_replace("'\'(.*?)\''", '\\1', $value);
						$value=preg_replace("'\"(.*?)\"'", '\\1', $value);
						//$value = preg_replace("' (.*?)'", '\\1', $value);
						if($value=='true') $value = true;
							else
						if($value=='false') $value = false;
						if(empty($par)){
							$arr[$key]=$value;
						}else{
							$arr[$par][$key]=$value;
						}
					}else{
						$arr['error'][]=$line;
					}
				}
			}
		}
	}
	if(empty($arr['error'])){
		return $arr;
	}else{
		return "<pre>В структуре файла конфигурации есть ошибки, проверьте файл $file!</pre>";
	}
}
xml_to_ini('http://informer.gismeteo.ru/rss/26063.xml');
Для вывода погоды используй фун-ю parse_ini:
parse_ini('base.ini');
shmeks вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Gismeteo серийник karpo3 Мобильный Софт 68 03.10.2012 12:22
Ищу парсер сайтов bssergy Скорая помощь 5 05.11.2011 02:49
Помогите написать парсер для текстового документа!!! Diy666 Visual C++ / С/C++ 3 23.12.2007 07:59

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:35. Часовой пояс GMT +3.


Copyright ©2004 - 2025 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.03568 секунды с 11 запросами