2010-10-18 9 views
5

Tôi muốn lấy nội dung nguồn cấp dữ liệu RSS từ một trang web và hiển thị nó trong trang web của tôi với các tùy chọn lọc khác nhau.Cách sử dụng tập lệnh php để lấy nội dung nguồn cấp dữ liệu rss

Bất kỳ ai cũng có thể đặt tập lệnh php có thể lấy nội dung từ đó và hiển thị

+0

thể trùng lặp của [Cách tốt nhất để phân tích RSS/Atom nguồn cấp dữ liệu với PHP] (http://stackoverflow.com/questions/250679/best-way -to-parse-rss-atom-nguồn cấp dữ liệu-với-php) và [một số người khác] (http://stackoverflow.com/search?q=parse+rss+feed+php "Tìm kiếm StackOverflow cho Phân tích Nguồn cấp RSS"). Cân nhắc sử dụng trình phân tích cú pháp RSS hoặc DOM. Ngoài ra, vui lòng tăng Tỷ lệ chấp nhận của bạn. – Gordon

Trả lời

4

SO là để đặt câu hỏi cụ thể liên quan đến lập trình. Mặc dù câu hỏi của bạn có liên quan đến lập trình mà bạn không hỏi một câu hỏi cụ thể.

Một tìm kiếm google nhanh chóng cho "PHP đọc RSS cung cấp cho bạn một danh sách các liên kết rất tốt mà có thể giúp bạn bắt đầu.

How to Read an RSS Feed With PHP – screencast

Hãy thử ví dụ và xem nếu nó phù hợp với yêu cầu của bạn. Nếu bạn có bất kỳ câu hỏi cụ thể sau đó trở lại SO và tôi chắc chắn mọi người sẽ rất vui khi giúp

+0

trông quá cồng kềnh –

1

một cái gì đó như thế này:.

rss.php

<?php 

    // enable php_xsl extension 

    $xml = new DomDocument; 
    $xml->load("http://www.gamestv.org/rss.php?type=news&limit=8"); 

    $xsl = new DomDocument; 
    $xsl->load("RSSFeed.xsl"); 

    $xp = new XsltProcessor(); 
    $xp->importStylesheet($xsl); 
    if($html = $xp->transformToXML($xml)) echo $html; 
?> 

RSSFeed.xsl

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/rss/channel"> 
    <xsl:for-each select="/rss/channel/item"> 
     <div style="padding-bottom:10px; padding-top:10px;"><a> 
      <xsl:attribute name="title"><xsl:value-of select="title"/></xsl:attribute> 
      <xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute> 
      <xsl:value-of select="title"/> 
     </a></div> 
     <div><xsl:value-of disable-output-escaping="yes" select="description"/></div> 
    </xsl:for-each> 
</xsl:template> 

</xsl:stylesheet>