ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで RSS (フィード) を読み取る簡単な例

PHP_PHP チュートリアルで RSS (フィード) を読み取る簡単な例

WBOY
WBOYオリジナル
2016-07-13 10:28:261273ブラウズ

私は最近ブログを書いていますが、さまざまなブログ間の同期は面倒です。幸いなことに、各ブログには独自の RSS 集約システムがあり、RSS を介してブログ呼び出しを同期できるため、RSS を使用してブログ公開を同期するようになりました。 PHPでRSSを読むことを勉強しました。

RSS はデータ保存形式である XML で書かれています。 PHP で XML データを読み取るには、XML 解析関数、DOM モジュール、正規表現を使用する 3 つの方法があります。最も直接的な方法は、XML を直接解析して XML 内のデータを取得することです。

以下は解析コードです:

コードをコピーしますコードは次のとおりです:

error_reporting(E_ALL^E_NOTICE);

$rssfeed = "feed.xml";
header('Content-Type:text/html;charset= UTF-8');

$buff = "";
//RSS アドレスを開いて読み取ります
$fp = fopen($rssfeed,"r") または 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);

foreach ($values as $val) {
$tag = $val["tag"];
$type = $val["type"];
$value = $val["value"];
/ /Tag 小文字に変換します
$tag = strto lower($tag);

if ($tag == "アイテム" && $type == "開く"){
$is_item = 1;
}else if ($tag == "アイテム" && $type == "閉じる") {
/ /出力文字列を構築します
echo "".$title."
";
//echo $content."
";
$is_item = 0;
}
// item タグの内容のみを読み取ります
if($is_item==1){
if ($tag == "title") {$title = $value; }
if ($tag == "link") {$link = $value;}
if ($tag == "content:encoded"){$content=$value;}
}
}
?>

このプログラムを使用してフィードを読み取る効果は次のとおりです:

PHP_PHP チュートリアルで RSS (フィード) を読み取る簡単な例

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/788627.html技術記事最近ブログを書いているのですが、色々なブログ間の同期が面倒で、幸いなことに各ブログには独自の RSS 集約システムがあり、これを使用して RSS を介してブログ呼び出しを同期できるので、RSS を使用して自分で実装しました...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。