当前位置: 代码迷 >> 综合 >> PHP 產生 RSS/ATOM pubDate/created 所需格式
  详细解决方案

PHP 產生 RSS/ATOM pubDate/created 所需格式

热度:52   发布时间:2024-01-12 08:21:04.0

PHP 產生 RSS/ATOM pubDate/created 所需格式

RSS / ATOM 的格式要產生都很簡單, 麻煩的是日期格式的產生(RSS => pubDate, ATOM => created).

發現 PHP Date 有提供這些需要的相關全域變數可以使用:(PHP 5.1.1 以後開始支援這些全域變數)

  • echo DATE_RSS; // D, d M Y H:i:s O
  • echo DATE_ATOM; // Y-m-d\TH:i:sP
  • echo date(DATE_RSS); // Wed, 23 Apr 2008 19:27:19 +0800
  • echo date(DATE_ATOM); // 2008-04-23T19:27:38+08:00

如果是 MySQL timestamp/datetime format 直接拉出來的資料, 就可以直接使用:

  • date(DATE_RSS, strtotime($MYSQL_DATETIME_DATA));

目前支援的日期全域變數有以下:

  • DATE_ATOM: Atom  Atom (example: 2005-08-15T15:52:01+00:00)
  • DATE_COOKIE: HTTP Cookies (example: Monday, 15-Aug-05 15:52:01 UTC)
  • DATE_ISO8601: ISO-8601 (example: 2005-08-15T15:52:01+0000)
  • DATE_RFC822: RFC 822 (example: Mon, 15 Aug 05 15:52:01 +0000)
  • DATE_RFC850: RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)
  • DATE_RFC1036: RFC 1036 (example: Mon, 15 Aug 05 15:52:01 +0000)
  • DATE_RFC1123: RFC 1123 (example: Mon, 15 Aug 2005 15:52:01 +0000)
  • DATE_RFC2822: RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)
  • DATE_RFC3339: Same as DATE_ATOM
  • DATE_RSS: RSS (Mon, 15 Aug 2005 15:52:01 +0000)
  • DATE_W3C: World Wide Web Consortium (example: 2005-08-15T15:52:01+00:00)

其它相關網頁:

  • PHP Date and Time Predefined Constants
  • PHP Date / Time Functions

雖然格式很簡單, 但是有更多已經寫好的 Library 可以直接使用, 會省掉不少時間, 詳可參考:(不過下述我沒用過就是了.. Orz.)

  • PHP Universal Feed Generator (supports RSS 1.0, RSS 2.0 and ATOM)
  • RSS Generator

RSS Parser 可以考慮用下述的

  • MagpieRSS: RSS for PHP
  • Build a customizable RSS feed aggregator in PHP


  相关解决方案