というのもPHPが動作するフリースペースを持っておらず、スクリプトを設置できなかったんです。
で、よさそうなスペースを確保できたので掲載しますね。
【PHP】キーワードクラウド検証ページ
ページを見てもらうとわかると思うのですが、検索窓から入力されたキーワードを蓄積していき、蓄積された語句の数に比例して表示する文字の大きさを変えるものです。
実際のサイトではcookieを使用して同じ人からの同じキーワードの入力を制限していますがこのページではホスト名で制限をしています。
2回以上入力された語句、つまり2種類のホストから入力された同じ語句に対して表示処理をしています。
それと実際のサイトでは、結構ガンガン入力されるので、あまり古いデータは対象にしないよう最新1万データとかに対してだけ表示処理をしています。
肝心の重み付けの部分ですが、以下のようにやってます。
//データをこのような配列にまとめて整えておきます
//(実際のサイトはこれ+リンクURLも配列にしてます)
$data = array(
array(キーワード1,出現回数),
array(キーワード2,出現回数),
・・・・
);
//クラウドを生成する関数です
function createTagCloud($data,$MAXSIZE=30,$MINSIZE=9)
{
$ndata = array();
$x = array();
foreach($data as $val)
{
$ndata[$val[0]] = $val;
}
foreach($data as $val)
{
$x[] = $val[1];
}
$max = max($x);
$min = min($x);
$buff = NULL;
foreach($ndata as $val)
{
$per = ($val[1] - $min ) / ($max - $min);
$size = $MINSIZE + ($MAXSIZE - $MINSIZE) * $per;
$size = round($size);
$buff .= <<{$val[0]\r\n
loop;
}
return $buff;
}
あとは適当にCSSで整えて
echo createTagCloud($data);
で出力すればOKです。
現在WordPressでのサイト構築を検討中です。タグクラウドを作る機能はありますが、タグを別の機能に活用する等の理由で、キーワードによる「タグクラウド」を作りたいのです。
検索してみましたが、MovableTypeでは実施例があるのですが、WordPressでは見当たりません。
そこで、phpで実現できる貴殿の方法であれば、WordPressに組み込めると思います。
phpで「meta keywords」を集積して「キーワードクラウド」を生成する、ということで、どのようなphpを使えばよいのでしょうか?