function getbaidu() { $result=""; //RSS源地址列表數組 $rssfeed = array("http://news.baidu.com/ns?word=title%3A%BD%F0%C8%DA&tn=newsrss&sr=0&cl=2&rn=10&ct=0"); //設置編碼爲UTF-8 header('Content-Type:text/html;charset= UTF-8'); for($i=0;$i<sizeof($rssfeed);$i++){//分解開始 $buff = ""; $rss_str=""; //打開rss地址,並讀取,讀取失敗則停止 $fp = fopen($rssfeed[$i],"r") or die("can not open $rssfeed"); while ( !feof($fp) ) { $buff .= fgets($fp,4096); } //關閉文件打開 fclose($fp); //創建一個 XML 解析器 $parser = xml_parser_create(); //xml_parser_set_option -- 爲指定 XML 解析進行選項設置 xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1); //xml_parse_into_struct -- 將 XML 數據解析到數組$values中 xml_parse_into_struct($parser,$buff,$values,$idx); //xml_parser_free -- 釋放指定的 XML 解析器 xml_parser_free($parser); $link=""; $title=""; foreach ($values as $val) { $value="" ; $tag = $val["tag"]; $type = $val["type"]; if(array_key_exists('value', $val)){ $value = $val["value"]; } //標籤統一轉爲小寫 $tag = strtolower($tag); //title 和 link if($value!="") { if ($tag == "title") {$title = $value;} if ($tag == "link") {$link = $value;} if($link=='news.baidu.com') { $link=""; } if($title=='news.baidu.com') { $title=""; } if($link=='http://news.baidu.com') { $link=""; } if($title=='http://news.baidu.com') { $title=""; } } //當兩項都不爲空時,輸出並清空 if($title<>""&&$link<>"") { //echo "<a href='".$link."' target=_blank>".$title."</a><br />"; //$result[]=array('title'=>$title,'link'=>$link); $result.='<li><a href="'.$link.'" alt="'.$title.'" target=_blank>'.$title.'</a></li>'; $title=""; $link=""; } } //輸出結果 } return $result; }