PHPでタグクラウドを生成する方法(後編) – タグの出力-

By nakayama - 09/08/21 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

前回に引き続き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