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

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 19.09.2008, 19:29   #1
Неактивный пользователь
 
Пол:Женский
Регистрация: 28.02.2005
Сообщений: 23
Репутация: 1
По умолчанию XML парсер для Gismeteo.ru

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


Реклама: яйцо керамическое гриль купитькоронка на зубысериал внутри убийцы трейлеродноэтажный дом с террасой барнхаусстоимость наружной рекламы в москве


Старый 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 13:22
Ищу парсер сайтов bssergy Скорая помощь 5 05.11.2011 02:49
Помогите написать парсер для текстового документа!!! Diy666 Visual C++ / С/C++ 3 23.12.2007 07:59

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

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

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


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


Copyright ©2004 - 2024 2BakSa.WS

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