Heim > Backend-Entwicklung > PHP-Tutorial > 读取rrs的php

读取rrs的php

WBOY
Freigeben: 2016-06-23 14:32:24
Original
1150 Leute haben es durchsucht

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage