DudeFeed 0.1 Beta. Процессор новостных лент.

Добрый ночь всем =))

в общем, как говорится «надоело мне делать одно и тоже» и я решил это дело по возможности автоматизировать. написал классец, который умеет: читать фид и писать фид.

фишка класс в том, что он умеет например читать одним процессором фид(к примеру rss2) и писать другим (например html). в идеале я собираюсь допилить процессоры: rss091, rss10, atom. и тогда можно будет брать фид и конвертировать его rss10=>rss2, rss091=>rss10, atom=>rss20 простым движением руки :)

но это только начало)) ибо он может прочитать фид и дать вам поюзать информацию о канале, изображении фида, вернут любой элемент фида, их колво или все сразу массивом.

Дальше. можно создать новый фид, заполнить у него все нужные поля в канале, изображении( «… а вы не знали что рсс ридеры умеют показывать изображения?))» ) и сохранить (или вывести в браузер) это дело в любой из перечисленных форматов обрабатываемых процессорами фидов.

итого.

код тут — https://src.helldude.ru/projects/PHP/DudeFeed/trunk

ГЕНЕРАЦИЯ ФИДА

http://helldude.ru/code/6Y3lp9

$itemsfeed = new DudeFeed();
$itemsfeed->registerNamespace(«dc»);

$channel = $itemsfeed->getChannel();
$channel->title = «Скачать бесплатно музыку фильмы, софт, полезные программы»;
$channel->link = «http://www.filezzz.info/»;
$channel->language = «ru»;
$channel->description = «Скачать бесплатно музыку фильмы, софт, полезные программы»;
$channel->pubDate = time();

$image = $itemsfeed->getImage();
$image->url = «http://www.filezzz.info/templates/free/images/free_03.gif»;
$image->link = «http://www.filezzz.info/»;
$image->title = «Filezzz.info!!»;

for ($i = 0; $i < 10; $i++)
{
$item = $itemsfeed->addItem();
$item->title = «test > $i»;
$item->description = «description test $i»;
$item->pubDate = time()+100*$i;
$item->link = «http://google.com/$i»;
$item->category[] = «test category $i»;
$item->category[] = «test category $i-1″;
$item->dc->creator = «admin»;
}

пример фида рсс2 тут — http://helldude.ru/projects/php/DudeFeed/
выводится куском последующего кода
$itemsfeed->build();

тотже фид выведенный хтмл процессором — http://helldude.ru/projects/php/DudeFeed/index.html.php
выводится вот так
$itemsfeed->build(«html»);

вот парсер рсс2 — http://helldude.ru/projects/php/DudeFeed/rss_parser.php
тут еще проще код))

http://helldude.ru/code/KNlJIe

$feed = new DudeFeed();
$feed->registerNamespace(«dc»);
$feed->parse(file_get_contents(«rss.xml»));

debug($feed->getChannel(),$feed->getImage(),$feed->getItems());

надеюсь не я один буду его юзать ))) если появятся заинтересованные люди, которые захотят помочь дописать оставшиеся процессоры, я буду только рад.

ну а я использую его первый раз на ахуенном сайте — ПЫХА! и баиньке =))

всем чмокипоки.

  1. 2nd Февраль 2010 в 02:05

    мне нравится, я буду юзать. руками реально надоело.
    если ты еще не сделал, давай я процессор атом 1.0 как время будет сделаю.
    только с форматом даты я тогда так и не разобрался, точно правильную указал, но валидатор бракует.

    • 2nd Февраль 2010 в 15:14

      было бы неплохо, попробуй :)

      если чо с форматом зарешаем в любом случае, не такая уж и большая проблема