вторник, 13 января 2009 г.

Функция отображения RSS лент в PHP

Простой парсер RSS. Главное все наглядно и понятно... Нужные дополнительные тэги можно добавить по аналогии:

//функция парсинга RSS ленты============================================
        function client ( $url ) {

            $xml = simplexml_load_file($url);

            $rss["title"] = (string)$xml->channel->item->title;
            $rss["description"] = (string)$xml->channel->item->description;
            $rss["link"] = (string)$xml->channel->item->link;
            $rss["copyright"] = (string)$xml->channel->item->copyright;

            foreach( $xml->channel->item as $item ){
                $item = array( "title" => (string)$item->title,"link" => (string)$item->link,"description" => (string)$item->description,"pubDate" => (string)$item->pubDate  );
                $rss["items"][] = $item;
   
   }
            return $rss;
} // end rss
//пишем RSS в массив============================================
$outall=client('url rss ленты'); //url нужный сюда впихнуть
$oututf=$outall["items"];
//преобразуем кодировку с UTF8 в cp1252=========================
foreach ($oututf as $item)
{
$time = strtotime($item['pubDate']);
$time = strftime('%d.%m.%Y, %H:%M:%S', $time);
$out[] = array("title" => iconv("utf-8", "windows-1251", $item['title']), "link" => $item['link'], "description" => iconv("utf-8", "windows-1251", $item['description']), "pubDate" => $time);
}



Все - массив $out содержИт ньюсы в кодировке cp1251. 

Комментариев нет:

Отправить комментарий