Thursday, 27 December 2012

How to generate a Tag Cloud using PHP Script?

How to generate a Tag Cloud using PHP Script?

Using PHP Source code, we can generate tag cloud easily. You will find Tag Cloud in almost each and every website and blog. Most of the websites you browse are coded in PHP including facebook and tag cloud is very common in these websites. So, I will use PHP script to generate tag cloud here in this post.

PHP Tag Cloud Generator Script:

I have created a PHP function "getCloud" to generate tag cloud using PHP script. This function accepts array of tags, maximum and minimum size of the tags which will be the part of cloud.

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";
}

/**************************
****   Sample usage    ***/

$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);

echo getCloud($arr, 12, 36);

No comments:

Post a Comment