ユーザーがサイトのコンテンツをカスタマイズしやすくするために確立されたさまざまな RSS チャネル。異なるRSSを購読する(複数のWebサイトを同時に購読可能)ことで、Webサイトにログインすることなくタイムリーなニュース情報を入手できるほか、Webページ上の無用な広告やスパム情報の干渉を避けることができます。 RSS を使用すると、訪問者の時間を大幅に節約でき、Web サイトの人間味のあるデザインのハイライトにもなり、Web サイトの品質が向上します。実際、RSS テクノロジーはそれほど難しいものではありません。Web サイトに大量の情報が含まれている場合は、このテクノロジーを自分のサイトに適用できます。
RSS は、サイト間でコンテンツ (「集約コンテンツ」とも呼ばれます) を共有する簡単な方法で、通常、ニュースやその他の連続した Web サイトに使用されます。ブログ Web サイトとして。 Web サイトは RSS 出力を提供します。これは、ユーザーが Web サイトのコンテンツの更新を見つけるのに役立ちます。 Web サイトのユーザーは、クライアント上で RSS をサポートするニュース リーダーなどのニュース アグリゲーション ツールを使用して、Web サイトのコンテンツ ページを開かずに、RSS 出力をサポートする Web サイトのコンテンツを読むことができます。
Web サイトの RSS を作成するには、まず RSS について深く理解する必要があります。 RSS は XML (Extensible Markup Language) に基づいた形式であり、すべての RSS ファイルは World Wide Web Consortium (W3C) サイトによって発行された XML 1.0 仕様に準拠する必要があります。一般に、RSS ドキュメントの最上位はルート要素としての
: Web サイトまたはコラムの URL。 description>: Web サイトまたはセクションの簡単な説明。
特定のニュース フィードは
などのオプションのステートメントを使用することもできます。顕現しに来てください。一般に、ニュースは
2. RSS 生成
class CI_Rss
{
/**
+----------------------------------------------- - -----------
* RSS チャンネル名
+-------------------------- -- --------------------------------
* @var string
* @access protected
+ -------------------------------------------------- ------
*/
protected $channel_title = '';
/**
+---------------------------------------------- --- ------------
* RSS チャンネルリンク
+------------------------ -- ----------------------------------
* @var string
* @access protected
+- ------------------------------------------- ----- -------
*/
protected $channel_link = '';
/**
+----------------------------------------------- - -----------
* RSS チャンネルの説明
+-------------------------- -- --------------------------------
* @var string
* @access protected
+ -------------------------------------------------- ------
*/
protected $channel_description = '';
/**
+---------------------------------------------- --- ------------
* RSS チャンネルで使用される小さなアイコンの URL
+---------------- ------ ------------------------------------
* @var string
* @access protected
+----------------------------------------------------- --------- ------------
*/
protected $channel_imgurl = '';
/**
+----------------------------------------------- - -----------
* RSS チャネルで使用される言語
+------------------------ -- --------------------------------
* @var string
* @access protected
+ ------------------------------------------------ -- --------
*/
protected $ language = 'zh_CN';
/**
+----------------------------------------------- - -----------
* RSS ドキュメントの作成日、デフォルトは今日です
+---------------------- - -----------------------------------
* @var string
* @access protected
+------------------------------------------ -- ----------
*/
protected $pubDate = '';
protected $lastBuildDate = '';
protected $generator = 'SCutePHP RSS Generator';
/**
+----------------------------------------------- - -----------
* RSS 単一メッセージの配列
+----------------------- - ---------------------------------
* @var string
* @access protected
+------------------------------------------------ ----------
*/
protected $items = array();
/**
+---------------------------------------------- --- ------------
* コンストラクター
+-------------------------- -- ----------------------------------
* @access public
+--- ------ -------------------------------------------- ------
* @param string $title RSS チャネル名
* @param string $link RSS チャネル リンク
* @param string $description RSS チャネルの説明
* @param string $ imgurl RSS チャンネルアイコン
+------------------------------------------ ------- ----------
*/
public function __construct($par = array())
{
$this->channel_title = $par [0];
$this->channel_link = $par[1];
$this->channel_description = $par[2];
$this->channel_imgurl = $par[3 ];
$this->pubDate = Date('Y-m-d H:i:s', time());
$this->lastBuildDate = Date('Y-m-d H:i:s', time ());
}
/**
+----------------------------------------------- - -----------
* プライベート変数を設定します
+-------------------------- -- ------------------------
* @access public
+------ -------------------------------------------------- -
* @param string $key 変数名
* @param string $value 変数値
+---------------------- ----------------------------------
*/
public function Config($key,$value)
{
$this->{$key} = $ value;
}
/**
+----------------------------------------------- - -----------
* RSS アイテムを追加
+-------------------------- -- ------------------------
* @access public
+------ -------------------------------------------------- -
* @param string $title ログのタイトル
* @param string $link ログのリンク
* @param string $description ログの概要
* @param string $pubDate ログの公開日
+-------------------------------------- ------------ ----------
*/
function AddItem($title, $link, $description, $pubDate)
{
$this->items[] = array('title' => $title, 'link' => $link, 'description' => $description, 'pubDate' => $pubDate);
}
/**
+---------------------------------------------- --- ------------
* RSS XML を文字列
として出力 +---------------------- - ----------------------------------
* @access public
+---- -------------------------------------------------- ----
* @return string
+------------------------------------- ------------------------
*/
public function Fetch()
{
$rss = ' $rss .= ''."rn"; ';
$rss .= '<チャンネル>'."rn";
$rss .= 'channel_title.']]> '."rn";
$rss .= 'channel_description.']]> '."rn";
$rss .= ''.$ this->channel_link.''."rn";
$rss .= ''.$this->言語.'言語>'."rn" ;
if (!empty($this->pubDate))
$rss .= ''.$this->pubDate.' '."rn";
if (!empty($this->lastBuildDate))
$rss .= ''.$this->lastBuildDate.' '."rn";
if (!empty($this->generator))
$rss .= ''.$this->generator.' '."rn";
$rss .= '5 '."rn";
if (!empty($this->channel_imgurl)) {
$rss .= ''."rn"; '."rn";
$rss .= 'channel_title.']]> '."rn";
$rss .= ''.$this->channel_link.''."rn";
$rss .= ''.$this-> ;channel_imgurl.' '."rn";
$rss .= '
}
for ($i = 0; $i items); $i++) {
$rss .= '- '."rn";
'."rn";
$rss .= 'items[$ i]['title'].']]> '."rn";
$rss .= ''.$this->items[$i][' link'].''."rn";
$rss .= 'items[$i]['description' ].']]> '."rn";
$rss .= ''.$this->items[$i]['pubDate'].'< ;/pubDate>'."rn";;
$rss .= '
}
$rss .= ''." rn".'
return $rss;
}
/**
+----------------------------------------------- - -----------
* RSS XML をブラウザに出力
+---------------------- -- --------------------------------
* @access public
+---- --- ---------------------------------------------- --- -
* @return void
+----------------------------------- --- --------------------
*/
public function Display()
{
header( 'Content-Type: text/xml; ');
echo $this->Fetch();
exit;
}
}