reset and begin
10/19/2010

xây dựng RSS trong PHP

 xây dựng RSS trong PHP một cách cơ bản nhất.
Mã nguồn xây dựng RSS đơn giản như sau, bạn có thể sửa đổi cho phù hợp với yêu cầu của bạn:

9 bước tạo RSS cho website

Nguồn RSS (Resource Site Summary) là một file XML mô tả nội dung website của bạn. Khi nội dung website thay đổi, nguồn RSS thay đổi theo. Những hệ thống thu thập tin ('aggregator' hay 'harvester') sẽ đọc nguồn RSS của bạn (khi có thông tin mới) và gửi đến độc giả trên khắp thế giới. Nhờ vậy, thông tin về nội dung web site của bạn được 'phát lại' đến lượng độc giả lớn hơn. Ngày càng có nhiều website cung cấp nguồn RSS, bạn có thể dễ dàng nhận biết các nguồn RSS này với hình chữ nhật nhỏ màu cam có chữ 'XML' hay 'RSS' xuất hiện trên trang web.
Với một công cụ thật đơn giản - trình soạn thảo văn bản, bạn cũng có thể tạo nguồn RSS cho website của mình.
Bước 1: Chuẩn bị
Trình soạn thảo văn bản: File RSS là tập tin văn bản đơn thuần. Bạn có thể dùng Notepad, Wordpad hay MS Word, nhưng nhớ lưu file ở dạng text.
Ngoài ra, bạn  cần có quyền cập nhật file lên server (nơi đặt web site của bạn). Việc đặt file RSS lên server giống hệt như cách thức đặt trang home.
Bước 2: File mẫu
Cách đơn giản nhất để tạo file RSS là sao chép file có sẵn của website khác và thay thế bằng nội dung của bạn. Dưới đây là một file mẫu:
<?xml version='1.0' encoding='utf-8' ?>
 <rss version='0.91'>
 
<channel>
 <title>PC World Vietnam</title>
 <link>http://www.pcworld.com.vn/news/weekly.htm</link>
 <description>News - By PC World Vietnam </description>
 <language>en-us</language>
 <image>
 <title>PC World Vietnam</title>
 <url>http://www.pcworld.com.vn/img/logoPCW.gif</url>
 <link>http://www.pcworld.com.vn</link>
 <width>258</width>
 <height>60</height>
 </image>
<item>
 <title>Thị trường di động sôi động</title>
 <link>http://www.pcworld.com.vn</link>
 <description>
 Thị trường điện thoại di động sôi động với nhiều model mới hấp dẫn về kiểu dáng lẫn tính năng.
 </description>
  </item>
<item>
 <title>Bo mạch chủ cho AMD</title>
 <link>http://wwwpcworld.com.vn</link>
 <description>
 So sánh, đánh giá các bo mạch chủ hỗ trợ CPU AMD hiện có trên thị trường.
 </description>
 </item>
 </channel>
 </rss>
Lưu ý: tham số encoding trong file RSS mẫu ở trên dùng 'utf-8' cho phép cung cấp thông tin tiếng Việt Unicode (file RSS phải lưu ở dạng Text và Encoding là Unicode). Đa số nguồn RSS của các website trên Internet dùng tiếng Anh, và tham số encoding thường là 'ISO-8859-1'.
Bước 3: Định nghĩa kênh (Channel)
 
Hình 2: Tiêu đề và hình giúp người dùng nhận diện chủ sở hữu nguồn RSS
Bây giờ bạn hãy xem lại nội dung vừa copy vào trình soạn thảo văn bản. Lưu ý ở gần trên cùng là dòng <channel>. Thông tin sau thẻ lệnh này và trên thẻ </channel> chính là nơi dùng để mô tả toàn bộ web site của bạn.
Bạn cần nhập vào 4 thông tin sau.
   title: tên website của bạn.
   link: địa chủ URL trang home.
   description: thông tin mô tả ngắn gọn về website.
   ngôn ngữ: là ngôn ngữ dùng trong web site.
Bạn chỉ phải tạo phần này 1 lần và có thể thay đổi nó bất kỳ lúc nào.
Bước 4: Hình
Đây là một thành phần phụ của channel và là tuỳ chọn; nếu không thích bạn có thể bỏ qua. Hình này (thường dùng ngay logo của website) được máy thu thập tin dùng để cung cấp nhận diện trực quan cho nguồn RSS của bạn. Bạn có thể đặt file hình ở bất kỳ đâu tuỳ thích, tuy nhiên tốt nhất nên đặt trong cùng thư mục với file RSS.
Kế tiếp, mô tả hình của bạn theo cùng cách thức như channel.
  title: tiêu đề hình, thường dùng tên của website.
 url: đường dẫn file hình trên web. Dùng địa chỉ URL đầy đủ, bao gồm cả http.
  link: địa chỉ URL liên kết đến khi nhấn vào hình, thường dùng cùng địa chỉ URL với channel.
  width: kích thước chiều rộng của hình, đơn vị là pixel.
 height: kích thước chiều cao của hình, đơn vị là pixel.
Cũng như với thẻ channel, bạn chỉ phải thực hiện việc này 1 lần. 

 Các phiên bản RSS 
 
PHIÊN BẢN RSS ĐẦU TIÊN có số hiệu 0.90 do Netscape phát triển với mục đích xây dựng portal (cổng thông tin) cung cấp tin 'nóng' cho các site tin tức. Phiên bản này có vẻ quá phức tạp với mục tiêu đặt ra; vì vậy một phiên bản đơn giản hơn, 0.91, được đề nghị nhưng bị ngưng trệ do Netscape không còn quan tâm đến việc phát triển portal. May mắn, 0.91 được một công ty khác tiếp quản, UserLand Software, với dự định dùng cho các sản phẩm weblog và các phần mềm trên web khác.  Cùng lúc đó, một tổ chức phi thương mại khác, RSS-DEV, phát triển một định dạng mới gọi là RSS 1.0 dựa trên RDF (Resource Description Format) và các nguyên lý của RSS 0.90. UserLand không có dính dáng gì đến việc phát triển định dạng mới này, và thay vì chấp nhận RSS 1.0, UserLand tiếp tục phát triển nhánh 0.9x với các phiên bản 0.92, 0.93, 0.94 và mới nhất là 2.0. Thế thì cái nào tốt hơn: RSS 1.0 hay RSS 0.9x/2.0? Đã có nhiều tranh luận về vấn đề này. Thực tế, hiện phần nhiều nguồn RSS trên web đi theo nhánh 0.9x.
 

Bước 5: Định nghĩa liên kết
Website của bạn có thể chứa 1 hay nhiều tin mà bạn muốn cung cấp đến độc giả. Đây là phần thông tin thay đổi thường xuyên.
Mỗi tin được mô tả với 1 thẻ <item>. Trong ví dụ ở trên có 2 item. Bạn có thể thấy mô tả cho mỗi tin bắt đầu với thẻ <item> và kết thúc với thẻ </item>. Giữa cặp thẻ item là các thẻ chứa thông tin. Bạn hãy thay thế thông tin trong ví dụ trên bằng thông tin của bạn. Nếu bạn có nhiều hơn 2 tin, hãy copy một item (và mọi thứ bao trong thẻ item này) và paste nó xuống dưới item thứ hai, và trên thẻ </channel>. Kế tiếp nhập vào nội dung của bạn:
  title: tựa đề tin
  link: địa chỉ URL của tin
  description: nội dung tóm tắt tin.
Tương tự cho những tin tiếp theo. Sau khi hoàn tất, lưu file lại.
Bước 6: Ký tự thay thế

Đây là phần tương đối phức tạp nhất.  File RSS là file XML và có một số ký tự không được phép xuất hiện trong nội dung. Vì vậy bạn phải 'escape' chúng, nghĩa là chèn vào chuỗi ký thự thay thế. Dưới đây là danh sách các ký tự cần thay thế.
& - thay thế bằng chuỗi &amp
' - thay thế bằng chuỗi &quot
' - thay thế bằng chuỗi &apos
> - thay thế bằng chuỗi &gt; tuy nhiên không thay ở các thẻ lệnh
< - thay thế bằng chuỗi &lt; tuy nhiên không thay ở các thẻ lệnh
Bước 7: Đặt RSS lên server
Cập nhật file RSS lên máy chủ web (server) của bạn. Tốt nhất nên đặt trong cùng thư mục với trang home (tuy nhiên bạn có thể đặt ở bất kỳ đâu, ví dụ như tạo folder rss và đặt vào đó).
Vậy là bạn đã có nguồn RSS đang làm việc. Thật đơn giản! Xin chúc mừng bạn.
Bước 8: Kiêm tra file RSS
Thật ra, bước này là tuỳ chọn, tuy nhiên tốt hơn bạn nên thực hiện để dễ dàng phát hiện lỗi nếu có ở bước 6. Bạn hãy đến website chuyên về đánh giá RSS và nhập vào địa chỉ URL đầy đủ của file RSS của mình. Công cụ đánh giá sẽ thông báo ngay cho bạn nếu có bất kỳ lỗi nào. Sửa lỗi và thực hiện kiểm tra lại. Dưới đây là một số nguồn đánh giá RSS:
- aggregator.userland.com/validator

 RSS trên ĐTDĐ? 
 Nguồn cung cấp tin theo định dạng RSS trên web hiện nay vô cùng phong phú. Để 'thụ hưởng' các nguồn tin này bạn cần có công cụ đọc tin RSS. Trên số báo TGVT A 9/2003 đã có bài giới thiệu về RSS và một số công cụ đọc RSS miễn phí ('RSS: Nguồn tin bất tận', trang 18). Ngoài ra, bạn cũng có thể dàng tìm thấy (và tải về dùng) nhiều công cụ đọc tin RSS trên web, ví dụ như ở mục News Reader in the Open Directory của Google (http://directory.google.com/Top/Reference/Libraries/Library_and_Information_Science/Technical
_Services/Cataloguing/Metadata/RDF/Applications/RSS/News_Readers/). Thường các công cụ này chạy
 
 
trên PC. Thế còn thiết bị di động thì sao, cụ thể là chiếc điện thoại di động (ĐTDĐ) luôn mang theo bên mình bạn? Các ĐTDĐ hiện nay đã có khả năng lướt web, xem hình màu, nghe nhạc... thì việc đọc thông tin văn bản từ nguồn RSS là 'nằm trong tầm tay'. Vấn đề chỉ là có công cụ thích hợp.
Ở đây xin được giới thiệu 2 công cụ đọc tin RSS dành cho thiết bị di động nói chung và ĐTDĐ nói riêng. Cả 2 công cụ này (midlet) đều được viết bằng Java, MIDP/CLDC 1.0.
1. RSS Reader Midlet: có thể tải về từ trang wap http://brothas.net/rssr/index.wml, mã nguồn chương trình và các file .jad và .jar cũng có thể tải về ở địa chỉ http://www.brothas.net/rssr/. Midlet này dùng bộ phân tích XML được thiết đặc biệt cho môi trường thiết bị di động, kXML 2 (www.kxml.org).
 
RSS trên ĐTDĐ
 
 
2. NewsReaderMidlet: được cung cấp ở dạng mã nguồn (http://www.informit.com/content/images/art_kontio_newsreader/elementLinks/SourceCode.zip). Midlet này dùng kXML 1.x (kxml.enhydra.org).
 

Bước 9: Quảng bá nguồn RSS
Bạn cần quảng bá cho mọi người biết sự hiện diện nguồn RSS của mình. Đừng chờ đợi người ta tìm thấy nó thông qua Google. Có 2 bước chính để quảng bá nguồn RSS.
Trước hết, thêm 1 nút XML (hay RSS) vào trang home của bạn. Nút XML (hay RSS) là một hình nhỏ màu cam liên kết đến file RSS của bạn. Có thể bạn đã nhìn thấy hình này trên một số trang web. Hãy copy hình này (hay tự tạo lấy) và cập nhật lên server. Kế tiếp, đặt hình này, cùng với liên kết, lên trang home.Ví dụ, đặt đoạn code sau lên trang home của bạn:
<a xhref='http://www.mysite.com/mysite.rss><=img xsrc='xml.gif' width=36 height=14 alt='RSS feed for this site' border=0></a>
Thứ hai, bạn có thể gửi địa chỉ URL nguồn RSS của bạn đến các hệ thống thu thập tin. Việc đăng ký này sẽ báo cho các hệ thống đó bắt đầu kiểm tra nguồn RSS của bạn. Dưới đây là một số hệ thống thu thập tin:
•     Daypop: www.daypop.com/info/submit.htm
•     Syndic8: www.syndic8.com/suggest.php?Mode=data
•     Edu_RSS: www.downes.ca/cgi-bin/xml/feeds.cgi
Công việc đã hoàn tất. Giờ bạn hãy thử thường ngoạn thành quả của mình với công cụ đọc RSS (ví dụ như công cụ miễn phí RSS Reader, có thể tải về ở địa chỉ www.rssreader.com).


<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; ?>
<rss version="2.0">
<channel>
  <title>Tiêu đề blog của bạn</title>
  <link>Đường dẫn đầy đủ đến Website (hoặc Blog của bạn)</link>
  <description>Đặc tả về Website cảu bạn</description>
  <pubDate>15 Apr 2010 18:00:00 +0070</pubDate>
<?php foreach ($items as $item) { ?>
  <item>
    <title><?=$item['title']?></title>
    <pubDate><?=date("r",$item['time'])?></pubDate>
    <link><?=$item['url']?></link>
    <description><?=$item['description']?></description>
  </item>
<?php } ?>
</channel>
</rss>

Chỉ đơn giản vậy thôi, công việc còn lại mời bạn theo dõi bài viết bên dưới, nếu muốn tìm hiểu thêm về RSS:

Bloger Comments
G+ Comments
Comments FaceBook

No comments:

List

Profiles Information


About me : Nothing is 1 vài thứ - 1985

Places I've Lived : I Hà Nội

Home Page : http://www.shimivn.blogspot.com/

Think : 1:1000000000

Languages spoken : Vietnamese,English.

Mobile : sony C2305

dell : i3-Ram 3GB- HDD 250GB .