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