zoukankan      html  css  js  c++  java
  • PHP 读RSS

     直接运行就OK了。

    RSS.CLASS.PHP

    <?php
    class ReadRSS
    {
     
    //Define var as ReadRSS Class property
        var $url;
        
    var $content;
        
    var $values;

        
    //Define construct function
        function ReadRSS($url)
     {
            
    $this->url=$url;
        }

     
    //This is the Function to get file content.(read file)
        function ReadFile()
     {
            
    $fp = fopen($this->url,"r");
            
    while ( !feof($fp) )
      {
                
    $this->content .= fgets($fp,4096);
            }
            
    fclose($fp);
        }

     
    //Read Xml File
        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;
        }
    }
    ?>


    RSS.PHP
    <html>
    <head>
    <meta http-equiv='content-type' content='text/html; charset=UTF-8'>
        
    <title>RSS_TEST</title>
    </head>
    <body>
    <?php
    include_once('rss.class.php');
    $url="http://dudu.cnblogs.com/rss.aspx";
    $rss=new ReadRSS($url);
    $values=$rss->RSS(10);
    foreach ($values as $value) {
        
    echo "<div><a href={$value['link']}>{$value['title']}</a></div>";
    }
    ?>

    </body>
    </html>
  • 相关阅读:
    unity对于导入动画不可编辑的添加事件函数方式
    unity创建Animation动画文件
    unity之3dmax建模(人物模型)注意细节
    unity导入fbx文件并播放模型动画
    Java网络编程:QQ邮件发送客户端程序设计
    Java进阶:基于TCP通信的网络实时聊天室
    如何开发HTML编辑器
    分布式redislock使用注意事项
    《MySQL慢查询优化》之数据库表结构优化
    《MySQL慢查询优化》之慢SQL日志获取与分析
  • 原文地址:https://www.cnblogs.com/lang/p/995384.html
Copyright © 2011-2022 走看看