前回に引き続きPHPタグクラウドの作成方法を紹介します。
後編では重み付けを行なったワードに対し、タグクラウドを表示させます。
既にライブラリもいくつか開発されてまして有名どころでは『PEAR::HTML_TagCloud』、『Zend_Tag_Cloud』などがあります
PEAR::HTML_TagCloud
PEARとして公開されているライブラリです。
2009年8月20日現在まだバージョンが0.2.3という事で正式なものではありませんが十分使えます。
使用例
require_once 'HTML/TagCloud.php'; $tags = new HTML_TagCloud(); $tags->addElement('PHP', 'http://www.php.net', 39, strtotime('-1 day')); $tags->addElement('XML', 'http://www.xml.org', 21, strtotime('-2 week')); $tags->addElement('Perl', 'http://www.perl.org', 15, strtotime('-1 month')); $tags->addElement('PEAR', 'http://pear.php.net', 32, time()); $tags->addElement('MySQL', 'http://www.mysql.com', 10, strtotime('-2 day')); $tags->addElement('PostgreSQL', 'http://pgsql.com', 6, strtotime('-3 week')); print $tags->buildALL();
Zend_Tag_Cloud
Zend Frameworkのコンポーネントとして最近実装されました。
使用例
require_once('Zend/Tag/Cloud.php'); $cloud = new Zend_Tag_Cloud(array( 'tags' => array( array( 'title' => 'Code', 'weight' => 50, 'params' => array('url' => '/tag/code')), array( 'title' => 'Zend Framework', 'weight' => 1, 'params' => array('url' => '/tag/zend-framework')), array( 'title' => 'PHP', 'weight' => 5, 'params' => array('url' => '/tag/php')), ) ) ); echo $cloud;
自分で作る
単純な機能のものであれば自分で作ってもさほど手間は掛かりません。
簡単なソースで実現しているサイトがありますので参考にしてください。
『Building Web 2.0 Tag Clouds in PHP』