最近ってかだいぶ前から流行ってるタグクラウドを


サイトに付けたいと思って調べたら


ソースが紹介されていました。


トリアエズぶろぐ | PHPタグクラウドのチュートリアル


以下トリアエズぶろぐさんからの引用です。

こういうのは本当にありがたいです。感謝ニコニコ

CSSはこんな感じで。
.tag {
line-height: 150%;
}
.tag-active{
color: #FF0084;
}

PHPソース。
/*
こんな感じでデータを渡してください
abc順になっていなくても大丈夫です
$data = array(
array(Tag:String, URL:String, amount:Integer, active:Boolean),
array('あれ', './tag=are', 200),
array('これ', 'http://www.google.co.jp/', 17, true),
array('それ', '../', 30),
);
print at_TagCloud($data);
*/
function at_TagCloud($data, $MAXSIZE=30, $MINSIZE=10){
$NEWDATA = array();
foreach($data as $v){
$NEWDATA[ $v[0] ] = $v;
}
ksort($NEWDATA);
$x = array();
foreach($data as $v){
$x[] = $v[2];
}
$max = max($x);
$min = min($x);

$BUFFER = NULL;
foreach($NEWDATA as $v){
$per = ($v[2] - $min ) / ($max - $min);
$size = $MINSIZE + ($MAXSIZE - $MINSIZE) * $per;
$size = round($size);
$active = $v[3] ? 'tag-active' : NULL;
$BUFFER .= <<<END
<a href="{$v[1]}" class="tag" style="font-size:{$size}px;">
<span class="{$active}">{$v[0]}</span></a>
END;
}
return $BUFFER;
}

参考サイト

PHP Tag Cloud Tutorial | Prism-Perfect.net

PHP用タグクラウド生成ライブラリ(HTML_TagCloud)利用サンプル