2009-11-09 2 views
2

Как я могу создать корм для атома в PHP?PHP Создание подачи атома

+3

Вы провели какое-либо исследование? Это довольно приличная статья: http://www.ibm.com/developerworks/opensource/library/x-phpatomfeed/index.html –

+0

Это именно то, что мне нужно. – jkushner

ответ

-2

У Википедии есть example of what an ATOM feed looks. Вы можете изменить этот очень основной RSS класс, который я написал давным-давно, чтобы создать очень простой RSS-канал:

class RSSFeed 
{  
    var $feedHeader; 
    var $feedItems; 

    /* Class Constructor */ 
    function RSSFeed() 
    { 
     //do some contruction 
     $this->feedHeader = ''; 
     $this->feedItems = ''; 
    } 

    function setFeedHeader($title, $link, $description, $copyright, $lastBuildDate, $ttl) 
    { 
     $this->feedHeader = '<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel>'; 
     $this->feedHeader .= '<title>'.$title.'</title>'; 
     $this->feedHeader .= '<link>'.$link.'</link>'; 
     $this->feedHeader .= '<description>'.$description.'</description><copyright>'.$copyright.'</copyright>'; 
     $this->feedHeader .= '<language>en-GB</language><lastBuildDate>'.$lastBuildDate.' GMT</lastBuildDate><ttl>'.$ttl.'</ttl>'; 
    } 

    function pushItem($title, $link, $description, $pubDateTime) 
    { 
     $item = '<item><title>' . htmlentities(stripslashes($title)) . '</title>'; 
     $item .= '<link>' . $link . '</link>'; 
     $item .= '<guid>' . $link . '</guid>'; 
     $item .= '<description>' . htmlentities(stripslashes($description)) . '</description>'; 

     $item .= '<pubDate>' . $pubDateTime . ' GMT</pubDate></item>'; 

     $this->feedItems = $item . $this->feedItems; 
    } 

    function writeOutFeed($path) 
    { 
     $file = fopen($path, "w"); 
     fputs($file, $this->feedHeader); 
     fputs($file, $this->feedItems); 
     fputs($file, '</channel></rss>'); 
     fclose($file); 
    } 
} 
+0

Вы ничего не избегаете! Что делать, если в заголовке или описании элемента есть литеральный тег? Выход будет обработан. 'O_O' –

2

обновление для всех, кто может наткнуться на эту тему:

очень аналогичный вопрос был задан в The best PHP lib/class to generate RSS/Atom, и это привело к ряду хороших lib/roll ваших собственных рекомендаций.

Смежные вопросы