Home  >  Article  >  Backend Development  >  读取rrs的php

读取rrs的php

WBOY
WBOYOriginal
2016-06-23 14:32:241108browse

以前因为做学校论坛的需要,曾经写过一个读取shou论坛rrs的一段php,写出来以供大家参考

php 

// 下面就是定义函数来提取数据: 

// 处理开始标记的属性指 

// $attrs是一个多维数组,键值为属性名, 值就是该属性的值 

function  startElement( $parser ,   $element_name ,   $attrs ){ 

     global    $temp ,   $current_tag ; 

     $current_tag   =   $element_name ; 

     switch ( $element_name ){ 

         case   ' ITEM ' :  

         echo   '' ; 

         break ; 

         default :  

         break ; 

    } 

    





//  $current_tag告诉我们正在处理的标记,我们随后会在characterData函数中使用 



function  endElement( $parser ,   $element_name ,   $attrs ){ 

     global    $temp ,   $current_tag ; 

     switch ( $element_name ){ 

         case   ' ITEM ' :  

        return_page( $temp ); 

         $temp   =   '' ; 

         break ; 

         default :  

         break ; 

    } 





//  传送给此函数的是元素间的数据 

// 例如,对

Title Here,$data就等于'Title Here' 

function  characterData( $parser ,   $data ){ 

     global   $current_tag ,   $temp ,   $catID ; 

     switch ( $current_tag ){ 

     case   ' TITLE ' :  

         $temp [ ' title ' ]  =   $data ; 

         $current_tag   =   '' ; 

         break ; 

     case   ' LINK ' :  

         $temp [ ' url ' ]  =   $data ; 

         $current_tag   =   '' ; 

         break ; 

  case   ' AUTHOR ' :

      $temp [ ' author ' ]  =   $data ;

         $current_tag   =   '' ;  

     case   ' DESCRIPTION ' :

      $temp [ ' description ' ]  =   $data ;

         $current_tag   =   '' ;       

     default :  

         break ; 

    } 



?>   





php 



function  return_page(){ 

     global   $temp ; 

     echo   ' o  ' . $temp [ ' title ' ] . '
' ; 






//  分析的内容,即rrs的未知,可以是网络位置,也可以是文件 

$xml_file   =   ' http://club.sohu.com/list-70th-0-0.xml ' ; 



//  定义字符集,默认是UTF-8 

//$type = 'UTF-8'; 



// 建立解析器 

$xml_parser   =   xml_parser_create (); 



//  设置解析选项 

//xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true); 

//xml_parser_set_option($xml_parser, XML_OPTION_TARGET_ENCODING, 'UTF-8'); 



// 告诉PHP发现元素时要调用什么函数 

// 这些函数同时也处理元素的属性 

xml_set_element_handler ( $xml_parser ,   ' startElement ' , ' endElement ' ); 



// 告诉PHP对字符数据调用什么函数 

xml_set_character_data_handler ( $xml_parser ,   ' characterData ' ); 



if  ( ! ( $fp   =   fopen ( $xml_file ,   ' r ' ))) { 

     die ( " 因网络问题,暂时无法获得数据,请稍候刷新再试 " ); 





//  通过循环来解析整个文件 


while  ( $data   =   fread ( $fp ,   1024 )) 

{

     xml_parse ( $xml_parser ,   $data ,   feof ( $fp ));

}

fclose ( $fp );

xml_parser_free ( $xml_parser ); 



?>
另外可以加一段,用来预载网页的javascript的脚本





SCRIPT >





SCRIPT >



style >

 





 

 

   SOHU论坛 b >   font >

    

      正在加载请稍等 … …  font > td >  

tr >  

table >  

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP读写EXCEL类Next article:初次接触php