忍者ブログ
手探りでパソコンの事を勉強するブログです。 何か覚えたら記録していきます。
2017 . 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •   

    [PR]



    このエントリーをはてなブックマークに追加
    ×

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

    phpでRSSの新着を表示させる方法



    このエントリーをはてなブックマークに追加
    RSSフィードのURLから新着記事をリスト化してhtmlで出力するソースコードです。
    htmlでは以下のように出力されます。
    <ul>
    <li>新着1</li>
    <li>新着2</li>
    <li>新着3</li>
    </ul>

    ※phpソース
    <ul>
    <?php

    $RSSURL = "http://hoge.com/RSS.rdf"; // フィードのURL

    $buff = "";
    $fp = fopen($RSSURL,"r");
    while ( !feof($fp) ) {
        $buff .= fgets($fp,4096);
    }
    fclose($fp);

    $parser = xml_parser_create();
    xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
    xml_parse_into_struct($parser,$buff,$values,$idx);
    xml_parser_free($parser);

    $in_item = 0;
    foreach ($values as $value) {
        $tag  = $value["tag"];
        $type = $value["type"];
        $value = $value["value"];
       
        $tag = strtolower($tag);
        if ($tag == "item" && $type == "open") {
            $in_item = 1;
        } else if ($tag == "item" && $type == "close") {
            echo <<<EOM
    <li class="ls1 w1"><a href="$link" rel="external">$title</a></li>
    EOM;
            $in_item = 0;
        }
        if ($in_item) {
            switch ($tag) {
                case "title":
                    //
    文字コードの変換(UTF-8をEUC-JP で出力)
                    $value = mb_convert_encoding($value, "EUC-JP", "UTF-8");
                    $title = $value;
                    break;
                case "link":
                    $link = $value;
                    break;
                case "description":
                    //
    文字コードの変換(UTF-8をEUC-JP で出力)
                    $value = mb_convert_encoding($value, "EUC-JP", "UTF-8");
                    $description = $value;
                    break;
            }
        }
    }

    ?>
    </ul>

    変更すべきところはフィードのURLとサーバーの環境に合わせて文字コードを調整する必要があります。
    UNIX系ならEUC-JP
    LINUX系ならUTF-8
    フィードの文字コードと出力表示させるサーバーの文字コードをしっかり把握しましょう。
    リストタグとして出力しますので応用としてCSSで装飾する事をお勧めします。

    PR




    ■ この記事にコメントする
    お名前
    タイトル
    文字色
    URL
    コメント
    パスワード
    Vodafone絵文字 i-mode絵文字 Ezweb絵文字
    ■ コメント一覧
    ■ この記事のトラックバック
    この記事にトラックバックする:
    html5のDOCTYPE宣言の書き方 HOME ブログの外枠(左右)に影をつけるレイアウト方法
    ©パソコン手探り all rights reserved.
    Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
    忍者ブログ / [PR]