はじめに
この記事は私のサイト『FantmSite』のブログでこう書いていたのですが、心機一転としてブログを閉鎖し、今後サイトをリニューアルすべくその一つとしてQiitaに移転させています。
記事の内容
バグはわかっていたのですが、『FantmSite-Nogi』の乃木坂46の新着ニュースのリンクがうまく指定できておらずその記事のページに飛ぶことができなくなっていました。今回はそのバグの原因と解決方法として記載します。
今回のこの新着ニュースはGoogle検索の機能を利用したRSSを利用しています。
参考サイト
Googleの新着検索結果をRSSフィードで取得する方法、調査・情報収集などに
今回このRSSを利用してハマった(バグになった)のがlinkタグのhrefに格納されている値の取得ができていないことでした。次に示しているのが間違った指定の仕方です。
間違った指定の仕方
foreach($rss->entry as $ND){
$fs_link = $ND->link;
}
*実際に取得しているコードと同じにするとセキュリティ上よろしくないと思われるので、少し変えて記述しています。そのため、今回の記事に関係あるところ以外は省略しています。
それで、正しい指定の仕方は以下のとおり。
正しい指定の仕方
foreach($rss->entry as $ND){
$fs_link = $ND->link->attributes()->href;
}
この**attributes()
**は、
XMLタグの中で定義された属性とその値を取得します
ということらしいです。
(PHPの公式マニュアル「SimpleXMLElement::attributes」より)
実は以前もここではまったことがあり、解決した時「あ…これ前にも見た気が…」っとなってしまいました(´-ω-`;)
今回は今後のためのメモに書きました。