<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RSS数据相关文章列表 | 皇家元林</title>
	<atom:link href="https://hjyl.org/tags/rss%E6%95%B0%E6%8D%AE/feed/" rel="self" type="application/rss+xml" />
	<link>https://hjyl.org</link>
	<description>刘元林的个人博客</description>
	<lastBuildDate>Thu, 31 Mar 2011 07:42:36 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://img.hjyl.org/uploads/2019/10/cropped-about-me-32x32.png</url>
	<title>RSS数据相关文章列表 | 皇家元林</title>
	<link>https://hjyl.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PHP调用任何网站RSS数据</title>
		<link>https://hjyl.org/php-call-rss/</link>
					<comments>https://hjyl.org/php-call-rss/#comments</comments>
		
		<dc:creator><![CDATA[皇家元林]]></dc:creator>
		<pubDate>Thu, 31 Mar 2011 07:42:36 +0000</pubDate>
				<category><![CDATA[元林手札]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[PHP调用]]></category>
		<category><![CDATA[RSS数据]]></category>
		<guid isPermaLink="false">http://hjyl.org/?p=1514</guid>

					<description><![CDATA[PHP调用任何网站RSS数据]]></description>
										<content:encoded><![CDATA[<p>捣鼓了一下，把<a href="https://hjyl.org/go/aHR0cDovL3d3dy43bGF1LmNvbS8=" rel="nofollow" target="_blank">www.7lau.com</a>这站放到VPS上，然后修改了一些内容，中间的黄色区域用来调用我的博客，但是我的博客又不在同一服务器上，于是我就google之。被我找到通过调用RSS来实现数据的调用方法：</p>
<p><strong>封装的RSS类，文件名设定为 rss.php，代码如下：</strong></p>
<pre lang="language" line="1"><?php
class ReadRSS{
    var $url;
    var $content;
    var $values;
    function ReadRSS($url){
        $this->url=$url;
    }
    function ReadFile(){
        $fp = fopen($this->url,"r");
        while ( !feof($fp) ) {
            $this->content .= fgets($fp,4096);
        }
        fclose($fp);
    }
    function ReadXML(){
        $parser = xml_parser_create();//建立xml解析器
        xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);//忽略由空白字符组成的值
        xml_parser_set_option($parser,XML_OPTION_TARGET_ENCODING,'UTF-8');
//设置编码，目前只支持ISO-8859-1、US-ASCII 和 UTF-8，也可以不设置，与目标编码一致
        xml_parse_into_struct($parser,$this->content,$this->values);
        xml_parser_free($parser);
    }
    function RSS($n=10){
        $this->ReadFile();
        $this->ReadXML();
        $in_item = 0;
        $i=0;
        $read=array();
        foreach ($this->values as $value) {
            $tag = $value["tag"];
            $type = $value["type"];
            $value = $value["value"];
            $tag = strtolower($tag);
            if ($tag == "item" && $type == "open") {
                $in_item = 1;
            } else if ($tag == "item" && $type == "close"){
                $read[$i]['link']=$link;
                $read[$i]['title']=$title;
                if ($pubDate) {
                    $read[$i]['pubDate']=$pubDate;
                }
                $read[$i]['description']=$description;
                $in_item = 0;
                   $i++;
                if ($i>=$n) {
                    break;
                }
            }
            if ($in_item) {
                switch ($tag) {
                    case "title":
                        $title = $value;
                        break;
                    case "link":
                        $link = $value;
                        break;
                    case "pubDate":
                        $pubDate = $value;
                        break;
                    case "description":
                        $description = $value;
                        break;
                }
            }
        }
        return $read;
    }
}
?></pre>
<p><strong>模板代码如下：</strong></p>
<pre lang="language" line="1"><html>
<head>
<meta http-equiv='content-type' content='text/html; charset=UTF-8'>
    <title>圣郡网络-天津网站制作-天津网页设计-天津网站设计</title>
</head>
<body>
<?php
include_once('rss.php');
$url="http://hjyl.org/feed";
$rss=new ReadRSS($url);
$values=$rss->RSS(10);
# 10 可以改成别的数字，比如5，这是读取feed的条数
foreach ($values as $value) {
    echo "<div><a href={$value['link']}>{$value['title']}</a></div>";
}
?>
</body>
</html></pre>
<p>这个方法感觉还不错，基本上支持RSS的都可以使用。如果你还需要调用的更多内容，可以参考<a href="https://hjyl.org/go/aHR0cDovL3d3dy5lc2VwdS5jb20vaHRtbC93ZWIyMDEwLzA4LzI1NDdfcGhwLXl1YW4tY2hlbmctZGlhby15b25nLXFpLXRhLXdhbmctemhhbi1kZS1yc3Mtc2h1LWp1Lmh0bQ==" rel="nofollow" target="_blank">原文里的其他代码</a>。</p>
<div id="content-copyright"><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;font-size: 13px;">版权声明: </span><span style="font-size: 13px;">本文采用 <a href="https://hjyl.org/go/aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzMuMC8=" rel="nofollow" target="_blank">BY-NC-SA</a> 协议进行授权，如无注明均为原创，转载请注明转自 <a href="https://hjyl.org">皇家元林</a><br>本文链接: <a rel="bookmark" title="PHP调用任何网站RSS数据" href="https://hjyl.org/php-call-rss/">PHP调用任何网站RSS数据</a></span></div>]]></content:encoded>
					
					<wfw:commentRss>https://hjyl.org/php-call-rss/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
