Creating Tag Cloud in PHP

Did you see whether some popular websites have language packs (or) tags of popular posts at the footer of the webpages?

Have you looked at the code how they have done that?

Today I will show you a simple way to do that…

It’s very Interesting…

//Declare all the Cloud tags as an array in PHP

<?php

$arr = Array(‘Actionscript’ => 35, ‘Adobe’ => 22, ‘Array’ => 44,
‘Background’ => 43,
‘Blur’ => 18, ‘Canvas’ => 33, ‘Class’ => 15, ‘Color Palette’ => 11,
‘Crop’ => 42,
‘Delimiter’ => 13, ‘Depth’ => 34, ‘Design’ => 8, ‘Encode’ => 12,
‘Encryption’ => 30,’Extract’ => 28, ‘Filters’ => 42);

//now declare a function to create Cloud Tags

function getCloud($data = array(), $minFontSize = 12, $maxFontSize = 30 )

{

$minimumCount = min($data);
$maximumCount = max($data);
$spread = $maximumCount – $minimumCount;
$cloudHTML = ”;
$cloudTags = array();

$spread == 0 && $spread = 1;

foreach( $data as $tag => $count )
{
$size = $minFontSize + ( $count – $minimumCount )
* ( $maxFontSize – $minFontSize ) / $spread;
$cloudTags[] = ‘<a style=”font-size: ‘ . floor( $size ) . ‘px’
. ‘” class=”tag_cloud” href=”#” title=”\” . $tag .
‘\’ returned a count of ‘ . $count . ‘”>’
. htmlspecialchars( stripslashes( $tag ) ) . ‘</a>’;
}

return join( “\n”, $cloudTags ) . “\n”;
}

?>

//Now to call the function use the code as…

<?php

echo getCloud($arr, 20,30);

//send the array of tag clouds along with the minimum and maximum font size as parameters

?>

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s