質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

2212閲覧

PHPでRSSフィードのチャンネルタイトルを取得したい

kaigai

総合スコア13

RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/12/02 01:09

前提・実現したいこと

以下の記事を参考にPHPにてRSSを定期的に取得するようにしたいです。
https://rfs.jp/sb/javascript/03js/get-rss.html

発生している問題・エラーメッセージ

RSS feedのタイトル(記事タイトルではなくチャンネルタイトル)を取得する段階で、以下のエラーが表示されてしまいます。

Undefined variable: powered

該当のソースコード

PHP

1<?php 2// タイムゾーンを日本に設定 3date_default_timezone_set('Asia/Tokyo'); 4 5// 取得したいRSSのURLを設定 6$url = "https://news.yahoo.co.jp/pickup/rss.xml"; 7// MAXの表示件数を設定 8$max = 5; 9 10// simplexml_load_file()でRSSをパースしてオブジェクトを取得、オブジェクトが空でなければブロック内を処理 11if( $rss = simplexml_load_file( $url ) ){ 12 $cnt = 0; 13 $output = ''; 14 $powered = ''; 15 $powered .= '<a href="'. $rss->channel->link .'" target="_blank">' . " " . $rss->channel->title . '</a>'; 16 /* 17 * $item->title:タイトル 18 * $item->link:リンク 19 * strtotime( $item->pubDate ):更新日時のUNIX TIMESTAMP 20 * $item->description:詳細 21 */ 22 // item毎に処理 23 foreach( $rss->channel->item as $item ){ 24 // MAXの表示件数を超えたら終了 25 if( $cnt >= $max ) break; 26 27 // 日付の表記の設定 28 $date = date( 'Y年m月d', strtotime( $item->pubDate ) ); 29 // 出力する文字列を用意 30 $output .= '<a href="'. $item->link .'">' . $date . " " . $item->title . '</a><br>'; 31 $cnt++; 32 } 33 // 文字列を出力 34 file_put_contents ( "rss.xml" , '<ul>' . $output . '</ul>' . '<div class="rss_powered">' . $powered .'</div>'); 35 36} 37

試したこと

変数poweredの定義する中身を空にしたり、様々なことを試したものの、本質的に中身が理解できていないため同様のエラーが発生しています。

補足情報(FW/ツールのバージョンなど)

PHP/7.1.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

php

1file_put_contents ( "rss.xml" , '<ul>' . $output . '</ul>' . '<div class="rss_powered">' . $powered .'</div>');

の部分の$poweredのすぐ後ろのスペースが全角になっているようです。
半角に修正すれば、Undefined variable: poweredは出なくなると思われます。


[原因]
なんと表示されたエラーにも全角スペースが入ってました。
$powered+全角スペース までを新しい変数と認識していたのが原因でしょう。

投稿2018/12/02 06:53

編集2018/12/02 06:59
colling

総合スコア798

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaigai

2018/12/02 11:23

ご回答ありがとうございます! まさしくその通りでした!正常に動きましたmm
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問