当前位置:Gxlcms > PHP教程 > 读取rrs的php

读取rrs的php

时间:2021-07-01 10:21:17 帮助过:8人阅读

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

}

}

?>








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 LANGUAGE ="JavaScript" >





< SCRIPT LANGUAGE ="JavaScript" >



< style type ="text/css" >





< div id ="ld" style ="position:absolute; left:0px; top:0px; width:100%; height:100%; background-color:#ffffFF; z-index:1000;" >

< br >

< br >< br >< br >< br >< br >< br >< br >< br >< br >< br >< br >

< table align ="center" width ="50%" >

< tr >

< td align ="center" >< font color =#0000ff >< b > SOHU论坛 < br >

< br >

< font color ="#0000ff" > 正在加载请稍等 … …





< table width ="50%" align ="center" border ="0" cellspacing ="1" cellpadding ="0"

人气教程排行