はてなブックマークコメントを表示する
「カナかな団の躁鬱」に、はてブコメントを表示するようにしてみた。が、たいしてブクマされてない(2個くらい)のでアレですが。とりあえずメモ。
<?php
#リクエストURLを取得
$var = $_SERVER["REQUEST_URI"] ;
#リクエストURLからクエリ以後を取り出す
$dataurl = preg_replace ("/.*read|\.|php|\/|\?/", "", $var) ;
//はてブコメント
#フラグメント識別子を作るための元
$hatenano = substr ($dataurl, 8, 1) ;
$hatenafla = preg_replace ("/0/", "10", $hatenano) ;
#print "$var%23PrintNo$hatenafla";
#フラグメント識別子なしURLのはてなブックマークコメントを読み込む
$hatenas = file ("[]http://r.hatena.ne.jp/entry/bcomment?entryurl=http://www.aboutworks.com$var[]") ;
#フラグメント識別子ありURLのはてなブックマークコメントを読み込む
$hatenat = file ("[]http://r.hatena.ne.jp/entry/bcomment?entryurl=http://www.aboutworks.com$var%23PrintNo$hatenafla[]") ;
#文字コード変換 UTF-8→SJIS
mb_convert_variables ("SJIS", "UTF-8", $hatenas);
mb_convert_variables ("SJIS", "UTF-8", $hatenat);
#不要部分を削除 li 要素だけを残す
$hatenaone = array_slice ($hatenas, 4);
array_pop ($hatenaone) ;
array_pop ($hatenaone) ;
$hatenatwo = array_slice ($hatenat, 4);
array_pop ($hatenatwo) ;
array_pop ($hatenatwo) ;
#配列を結合
$hatenabook = array_merge($hatenaone, $hatenatwo) ;
#条件分岐 哀しいけれど、誰もブクマしてない時
if (empty ($hatenabook)){
print "
<!-- はてなブックマークされてないよ -->
";
}
#条件分岐 やったー、誰かブクマしてるよッ
else {
print "
<hr>
<div class=\"bookmarklist\">
<h3>はてなブックマークのコメント一覧</h3>
<ul>
";
#配列の要素が無くなるまで処理を繰り返す
while ($hatenabookmark = array_shift ($hatenabook)) {
print "$hatenabookmark";
}
print "
</ul>
<!-- bookmarklist --></div>
";
}
?>
- サンプル:カナかな団の躁鬱 - 文書型宣言。