phpでrrsを読み取る

WBOY
WBOYオリジナル
2016-06-23 14:32:241146ブラウズ

以前、学校のフォーラムを作成する必要があったので、shou フォーラムの RRS を読み取る php を書いたことがあります。 参考までに書きました


// 以下はデータを抽出する関数の定義:

// 開始タグを処理する属性は
を参照します
// $attrs は多次元配列、キー値は属性名、値は属性

関数 startElement( $parser , $element_name , $attrs ){

グローバル $temp , $current_tag;

デフォルト :


}



}



// $current_tag は処理中のタグを示します。これは後でcharacterData関数で使用します



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

global $temp , $current_tag ; switch ( $element_name ){

using using using through out through ' s ' through ' s ' through ‐ to ‐ ‐‐‐‐‐‐ および
to

break ;

デフォルト:

ブレーク ;
}



// この関数に渡されるのは要素間のデータです

// たとえば、Title Here の場合、$data は 'Title Here' と同等です

関数CharacterData( $parser , $data ){

グローバル $current_tag , $temp , $catID ;

switch ( $current_tag ){

case ' TITLE ' :

$temp [ ' title ' ] = $data ;
';デフォルト:

ブレーク ;

}

}

?>
global $temp ; ' o /A



//  分析的内容,即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" >





<スクリプト言語 ="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>

<テーブル align ="center" width ="50%" >  

< tr>  

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

< br>

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

 

 

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