Skip to content
PHP CSS
Find file
Latest commit db881a6 Aug 5, 2014 @lotsofcode Update README.md
Failed to load latest commit information.
css
src/lotsofcode/TagCloud
tests/lotsofcode/TagCloud
.editorconfig Initial wip of phpunit integration Jan 15, 2013
.gitignore
.travis.yml
README.md
composer.json
composer.lock
copying.txt Initial import Aug 15, 2011
phpunit.xml

README.md

PHP Tag Cloud

v4.0.1

Build Status

Basic usage

$cloud = new TagCloud();
$cloud->addTag("tag-cloud");
$cloud->addTag("programming");
echo $cloud->render();

Convert a string

$cloud->addString("This is a tag-cloud script, written by Del Harvey. I wrote this tag-cloud class because I just love writing code.");

Adding multiple tags

$cloud->addTags(array('tag-cloud','php','github'));

Removing a tag

$cloud->setRemoveTag('github');

Removing multiple tags

$cloud->setRemoveTags(array('del','harvey'));

More complex adding

$cloud->addTag(array('tag' => 'php', 'url' => 'http://www.php.net', 'colour' => 1));
$cloud->addTag(array('tag' => 'ajax', 'url' => 'http://www.php.net', 'colour' => 2));
$cloud->addTag(array('tag' => 'css', 'url' => 'http://www.php.net', 'colour' => 3));

Set the minimum length required

$cloud->setMinLength(3);

Limiting the output

$cloud->setLimit(10);

Set the order

$cloud->setOrder('colour','DESC');

Set a custom HTML output

$cloud->setHtmlizeTagFunction(function($tag, $size) use ($baseUrl) {
  $link = '<a href="'.$baseUrl.'/'.$tag['url'].'">'.$tag['tag'].'</a>';
  return "<span class='tag size{$size} colour-{$tag['colour']}'>{$link}</span> ";
});

Outputting the cloud (shown above)

echo $cloud->render();

Transliteration

By default, all accented characters will be converted into their non-accented equivalent, this is to circumvent duplicate similar tags in the same cloud, to disable this functionality and display the UTF-8 characters you can do the following:

$tagCloud->setOption('transliterate', false);

More usages on in a prettier format can be found here: http://lotsofcode.github.com/tag-cloud

Tests

To run the unit test suite, first install the dependencies:

curl -s https://getcomposer.org/installer | php
php composer.phar install

Then execute phpunit in the root directory

./vendor/bin/phpunit

Submitting pull requests

Indentation style, size and encoding should be followed as per .editorconfig settings.

Something went wrong with that request. Please try again.