2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RSSのlinkタグのhrefの値の取得の仕方

Posted at

はじめに

この記事は私のサイト『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」より)

実は以前もここではまったことがあり、解決した時「あ…これ前にも見た気が…」っとなってしまいました(´-ω-`;)
今回は今後のためのメモに書きました。

2
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?