http://breakpoint.tistory.com/149
HTML_TagCloud
PEAR 에 공개된 HTML_TagCloud 를 사용한 태그클라우드 소개 및 사용법 번역.
URL : http://pear.php.net/package/HTML_TagCloud
- 개요
이 패키지는 태그클라우드를 HTML 과 CSS 으로 작성.
태그클라우드란 태그 또는 키워드를 리스트로 형식으로 표현한 것으로 해당 페이지 / 블로그내에서 나타나는 빈도에따라 폰트사이즈가 달라진다.위키피디아에 올라온 한국어 설명에서는 태그구름이라는 이름이네..-,.-
http://ko.wikipedia.org/wiki/%ED%83%9C%EA%B7%B8_%EA%B5%AC%EB%A6%84이 패키지는 빈도 및 시간경과정보도 표시가능하다. 신착 태그는 짙은 색으로 오래된 태그는 옅은 색으로 표시.
인스톨방법은 위 URL 을 참조해서 설치하기. - 사용 예
<?php
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.xml.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'));
// HTML 및 CSS 출력
print $tags->buildALL();
?>
- HTML과 CSS 를 별도 생성
HTML_TagCloud 는 HTML 과 CSS 를 출력한다. HTML 는 단순 리스트이며 CSS 로 꾸민다. HTML 과 CSS 는 별도로 출력할 수 있다.
<?php
// CSS 만 출력
$css = $tags->buildCSS();
// html 만 출력
$taghtml = $tags->buildHTML();
?>
HTML 의 출력은 addElement() 로 추가된 태그데이터에 의존한다. 그러나 CSS 의 출력은 고정되어 있다. 이 패키지의 CSS 출력을 정적으로 사용할 수 있다.
- 태그 장식의 수정
CSS 에서 사용하는 색을 변경할 수 있다. HTML_TagCloud 를 상속받은 클래스를 작성하여 색 , 사이즈프로퍼티를 오버라이드한다.
<?php
class MyTags extends HTML_TagCloud
{
protected $epocLevel = array(
array(
'earliest' => array(
'link' => 'ffdfdf',
'visited' => 'ffdfdf',
'hover' => 'ffdfdf',
'active' => 'ffdfdf',
),
),
array(
'earlier' => array(
'link' => 'ff7f7f',
'visited' => 'ff7f7f',
'hover' => 'ff7f7f',
'active' => 'ff7f7f',
),
),
array(
'previous' => array(
'link' => 'ff7f7f',
'visited' => 'ff7f7f',
'hover' => 'ff7f7f',
'active' => 'ff7f7f',
),
),
array(
'recent' => array(
'link' => 'ff4f4f',
'visited' => 'ff4f4f',
'hover' => 'ff4f4f',
'active' => 'ff4f4f',
),
),
array(
'later' => array(
'link' => 'ff1f1f',
'visited' => 'ff1f1f',
'hover' => 'ff1f1f',
'active' => 'ff1f1f',
),
),
array(
'latest' => array(
'link' => 'ff0000',
'visited' => 'ff0000',
'hover' => 'ff0000',
'active' => 'ff0000',
),
),
);
protected $size_suffix = 'pt';
protected $fontsizerange = 0;
protected $basefontsize = 12;
}
?> - 시간정보 생략
시간경과에 따른 색 변경 기능을 생략할 경우 addElement() 의 네번째 파라미터를 생략한다.
이 파라미터를 생략하면 현재 시각이 적용된다.
<?php
$tags->addElement('PHP','http://www.php.net', 39);
?>
관련링크 : http://pear.php.net/package/HTML_TagCloud
관련 글 : 태그클라우드
댓글