Symfony1.4でRSS Feedを取得 and SwiftMailerでメール送信(gmail)
sfFeed2Pluginをインストールします。
# symfony plugin:install sfFeed2Plugin # symfony cc
あとは簡単。RSSフィードをsfFeed2を使って取得します。
$feed = sfFeedPeer::createFromWeb('http://feed/rss.xml'); foreach( $feed->getItems() as $item) { /* $item->getTitle(); $item->getLink(); $item->getAuthorName(); $item->getAuthorEmail(); $item->getPubdate(); $item->getUniqueId(); $item->getDescription(); */ }
複数のフィードをまとめて取得することも可能です。
$feed1 = sfFeedPeer::createFromWeb('http://feed/rss2.0.xml'); $feed2 = sfFeedPeer::createFromWeb('http://feed/rss2.0.xml'); $feed = sfFeedPeer::aggregate(array($feed1, $feed2),array('limit' => 30)); foreach( $feed->getItems() as $item){ }
User-Agentなどを指定して取得する方法もあります。
# symfony plugin:install sfFeed2Plugin # symfony plugin:install sfWebBrowserPlugin # symfony cc
でsfWebBrowserPluginを追加にンストールします。
$browser = new sfWebBrowser( array( 'user_agent' => 'symfony 1.4 sfWebBrowser and sfFeed2Plugin', 'timeout' => 15 ) ); $url = 'http://feed/rss2.0.xml'; $feedString = $browser->get($url)->getResponseText(); $rssFeed = new sfRssFeed(); $rssFeed->fromXml($feedString); $feed = $rssFeed->feed; foreach( $feed->getItems() as $item){ }