读取rrs的php

WBOY
WBOYoriginal
2016-06-23 14:32:241147parcourir

以前因为做学校论坛的需要,曾经写过一个读取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 >  

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP读写EXCEL类Article suivant:初次接触php