PHPではてブの人気記事のランキングを作成する

はてブの人気記事のランキングを先日までJavascriptで書いていたのですが、
amazonウィジェットを導入したところ、
chromeで人気記事のJsが動かなくなってしまったので、
PHPで実装しなおしました。

以下が実際にサイトで使用しているコードです。

ソースコード

  hatena_read("http%3A%2F%2Fwebdelog.info"); //人気記事を読み込みたいサイトのurl

  function hatena_read($url){
  $target_url="http://b.hatena.ne.jp/entrylist?sort=count&url=".$url."&mode=rss";
  $s = simplexml_load_file($target_url);
  $roop = 0;
  $pattern = "/ | WebDelog/"; //エントリー名から取り除きたい文字を指定しています。

   foreach($s as $val){
  if($roop != 0 && $val->link != $url ){ //最初に入っているサイト情報、インデックスを省きます。
    
    $result = $val -> title;
    $result2 = preg_split($pattern, $result);
    $link = $val -> link;
    
    echo '<p><a href="http://b.hatena.ne.jp/entry/'.$link.'">/';
        echo '<img src="http://b.st-hatena.com/entry/image/'.$link.'" />';
        echo '</a>';
        echo '<a href="'.$link.'">'.$result2[0].'</a></p>';
    }
   $roop = +1;
   }
  }

自分のサイトの場合、各ページにタイトルが入っているので、
それを取り除く処理を途中で行っています。

それ以外は特にこれといって難しいことはしていませんので、簡単に実装できると思います。

ちなみに、以前のJs版は下記のように書いていました

まずこれを読み込んでおいて、

  <script src="http://www.google.com/jsapi">
    google.load("feeds", "1");
  </script>

その後に下記のコードを書きます。

  (function(){
    google.setOnLoadCallback(initialize);

function initialize() { var rss = "http://b.hatena.ne.jp/entrylist?sort=count&url=http%3A%2F%2Fwebdelog.info&mode=rss"; var feed = new google.feeds.Feed(rss); feed.setNumEntries(7); feed.load(feedLoaded); }

// Our callback function, for when a feed is loaded. function feedLoaded(result) { if (!result.error) { var container = document.getElementById("popular"); for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; var p = document.createElement("p"); var a = document.createElement("a"); a.href = entry.link; var image = document.createElement("img"); var splits = entry.title.split(" ", 1); image.src = 'http://b.st-hatena.com/entry/image/'+entry.link; p.appendChild(image); p.appendChild(a); a.appendChild(document.createTextNode(splits)); container.appendChild(p); } } } });

なぜjQueryを使わなかったのはわかりません。
たぶん気分的なものだと思います…

jQueryを使ってはてブのランキングを作る記事はsoraiyさんの記事のものがとてもわかりやすかったので、
参考ページとして下記に掲載させて頂きました。

はてなブックマーク数が多い順に自分のブログの人気記事を一覧にする方法|ウェブル