Zhuyi.com の RSS 読み取りは、このプログラムに基づいて少し修正されており、主に配列文字列を出力し、エンコードの問題を解決しています。
phpのソースコードとコードの詳しい説明は以下の通りです:
//RSSソースアドレスリスト array
$rssfeed = array("http://www.jb51.net/feed",
"http ://rss .sina.com.cn/news/allnews/sports.xml"、
"http://ent.163.com/special/00031K7Q/rss_toutiao.xml"、
"http://tech.163 .com/special /00091JPQ/tech important.xml");
//エンコーディングを UTF-8 に設定します
header('Content-Type:text/html;charset= UTF-8'); ($rssfeed);$i++) {//分解を開始します
$buff = "";
$rss_str=""
//RSS アドレスを開いて読み取り、読み取りが失敗した場合は中止します
$fp = fopen($ rssfeed[$i],"r ") or die("$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,X ML_OPTION_SKIP_WHITE,1) ; /xml_parse_into_struct - - XML データを配列 $values に解析します
xml_parse_into_struct($parser,$buff,$values,$idx);
//xml_parser_free -- 指定された XML パーサーを解放します
$parser) ; as $val) {
$tag = $val["tag"];
$type = $val["type"];
// タグは一律に小文字に変換されます$ $ TAG = StrTo lower ($ タグ);
IF ($ タグ == "アイテム" && $ type == "開く") {
$ is_item = 1; Else if ($ タグ == "アイテム" && $ type == "閉じる") {
。 ;/a>
";
if ($tag == "title ") {$title = $value;}
if ($tag == "link ") {$link = $value;}
}
//結果を出力します
echo $rss_str."
}
?>
以上、PHP を使って RSS フィードを読み込むためのコードを RSS フィードの内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。