2014/02/21

【RSS】アンテナサイト作成した時の参考ブクマ

前回の続き

前回はGoogle Feed APIを用いたものの作成例を参考に作ってみたのですが、更新が反映されるのが遅いというのが難点だったので、PHPで書かれた作成例を参考にして作り直しました。

テストページ

参考にしたサイトのサンプルでは取り扱われいない部分で躓いた点の解決策や参考サイトをまとめておきます。

画像が取得できない

Google Feed APIを用いたものではサムネイル表示できたのですが、参考元のサンプルにはサムネイル表示機能がなかったので、画像取得のためのPHPのコードだけを追加してそのまま用いると、失敗しました。RSSで配信されたデータ中の画像リンクはCDATAセクション中にあるのでSimpleXML関数で取得しようとするときに拾えていなかったことが原因だったようです。

・「simplexml_load_file関数の第三引数にLIBXML_NOCDATAを指定する」
・「名前空間指定のあるデータへのアクセス」→children()関数

これで、テキストとして取得できるので、画像のリンクをpreg_match関数で漁ると取得できました。

[参考]:PHPのSimpleXML関数でRSSを取得する場合の注意点
[参考]:PHPでXMLの名前空間つきタグを読み込む色々

記事のカテゴリが表示したい

先ほどの「名前空間指定のあるデータへのアクセス」と被りますが。

[参考]:simplexml_load_fileでdc:subjectやcontent:encodedを読み込む

追記

先ほど参考元とは別のサイトですが、こちらのサイトのサンプルの方が割とそのままでも使いやすそうです。

0 件のコメント:

コメントを投稿