Yahooニュースの更新情報を表示するサイトを作りたいと思って
とりあえずプログラムを作ってみたのですがうまくいきません。
初心者なのでどこが悪いのか何が足りないのかどうすればいいのか詳しく教えてください
<?php
//RSSデータの読み込み
$rssurl = "http://dailynews.yahoo.co.jp/fc/rss.xml";
$rssdata = simplexml_load_file($rssurl);
//変数の初期化
$a= "";
$b= "";
$c= "";
$d= "";
$e= "";
$f= "";
$g= "";
$h= "";
//それぞれの変数に代入
$a= "<li>";
$b= "<a href=\"";
$c= link;
$d= "\">";
$e= title;
$f= "</a>\n";
$g= description;
$h= "</li>";
//表示
echo "a";
echo "b";
echo "c";
echo "d";
echo "e";
echo "f";
echo "g";
echo "h";
?>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
※RSSを取得するようなプログラムを書いたことがないので私の解説で動くかどうかはわかりませんのでご了承ください。
RSSはXMLという形式のファイルで作られています。XMLはHTMLタグのようにタグを使ってデータを扱えるファイルです。HTMLはわかりますね。
そしてRSSで使われているXMLではタグが入れ子構造になっています。たとえば以下のURLのソースを表示してみてください。
http://dailynews.yahoo.co.jp/fc/domestic/rss.xml
Yahoo!ニュースのRSSはおそらくRSS2.0ですから<channel>というタグの中に<item>というタグがいくつか入っています。この<item>に記事一つ一つのデータが入っているわけです。<item>のなかに<title>や<link>が入っていますね。これがすなわち記事のタイトルやリンクURLになります。どうやらYahoo!ニュースは記事の<description>を提供していませんね。
さて、あなたのソースでは$rssdata = simplexml_load_file($rssurl); とすることでRSSの中身を$rssdataという変数で扱えるようになりました。ここで一つ目の記事のタイトルを取得したいとなれば、$rssdataのなかの<channel>のなかの一つ目の<item>のなかの<title>にアクセスすればいいわけです。
これをPHPで書くと$rssdata->channel->item[0]->titleとなります。(PHPの添え字は0から始まるので一つ目はitem[0]、二つ目はitem[1]…ですね。)コレを表示すれば一つ目の記事のタイトルが表示されるはずです(たぶん)
一応参考URLに、PHPで簡易的なRSSリーダーのソースを載せているサイトがあったので載せておきます。
参考URL:http://and1019.blog93.fc2.com/blog-entry-90.html
No.1
- 回答日時:
いや、これは 『足りないところを指摘』 どころか、『できているところ』がまるでありません。
あえて言うなら、正しいのは Yahoo の URL くらいでしょうか?まずは、Google 等で "PHP RSSリーダ" で検索して、世のサンプルプログラムを眺めてみることをお勧めします。それで、まるで理解できないようであれば、そもそもの技術力が足りていません。あわてず、基礎から勉強されることをお勧めします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP phpでcookieがうまく保存されない 2 2023/08/02 16:40
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- MySQL php テーブルを作れない 2 2022/11/17 18:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
Windowsのsetコマンドでの小数...
-
phpでcookieがうまく保存されない
-
syntax error, unexpected 'ech...
-
変数の受け渡しによる画像の表示
-
bashの関数の引数にスペースが...
-
4桁の乱数の発生
-
PHPで訪問回数を表示するカウン...
-
バッチファイルで、全てのウィ...
-
オブジェクトの中身の判定(PHP)
-
batファイルでドロップしたデー...
-
switch()文で値の大小比較
-
PHPでのパスワード制限のセキュ...
-
PHP 九九表
-
Makefileのキー入力処理に関し...
-
RSSにdiv,ul classを付けたいの...
-
csvの特定のキーワードを指定し...
-
動的なPHPを静的なhtmlページに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルでpingの結果を...
-
switch()文で値の大小比較
-
phpでcookieがうまく保存されない
-
PHPでのパスワード制限のセキュ...
-
findstrのerrorlevel
-
syntax error, unexpected 'ech...
-
オブジェクトの中身の判定(PHP)
-
小数点以下0の非表示
-
pdftkを使った処理をバッチファ...
-
PHPで訪問回数を表示するカウン...
-
DBのハッシュ化したパスワード...
-
バッチファイルで、全てのウィ...
-
XMLのタグの有無をPHPで判定し...
-
ゼロとNULLを区別して number_f...
-
PHP一覧表示した項目にリンクを...
-
Parse error というエラーの対...
-
bashの関数の引数にスペースが...
-
Windowsのsetコマンドでの小数...
おすすめ情報