Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
19.09.2008, 19:29 | #1 |
Неактивный пользователь
Пол: Регистрация: 28.02.2005
Сообщений: 23
Репутация: 1
|
XML парсер для Gismeteo.ru
Помогите сделать xml парсер для получения информации о погоде с сайта gismeteo.ru с последующим выводом информации в виде html странички с текстом для последующей публикации на моем сайте. Вещь нужная и многим требующаяся (судя по отзывам в сети), но до сих пор не реализованная в виде пособия для чайников (коим я и являюсь).
|
Реклама: | яйцо керамическое гриль купить | коронка на зубы | сериал внутри убийцы трейлер | одноэтажный дом с террасой барнхаус | стоимость наружной рекламы в москве |
23.11.2008, 06:38 | #2 |
Неактивный пользователь
Регистрация: 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('base.ini'); |
Сказали спасибо: |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |
|
|