I came accross to a PHP tag cloud code in lotsofcode.com and tried but not worked due to division zero error. Anyway I did some mods and now it is working but I gave some very small and very high values to the array members but this time these small tags are so small which are unable to read.
My goal is to make every tag readable even it has so small or high value with various browsers.
How to do that? The code is below:
<?php
function get_tag_data() {
$arr = Array('Actionscript' => 1, 'Adobe' => 2, 'Array' => 4, 'Background' => 4,
'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, 'Flash' => 32, 'Functions' => 19,
'Gaussian Blur' => 44, 'Grafix' => 49, 'Graphics' => 35, 'Hue' => 47, 'Illustrator' => 8,
'Image Ready' => 12, 'Javascript' => 47, 'Jpeg' => 15, 'Keyboard' => 18, 'Level' => 28,
'Liquify' => 30, 'Listener' => 150, 'Logo' => 12, 'Loops' => 22, 'Macromedia' => 2,
'Method' => 2, 'MySQL' => 1, 'Obfuscation' => 130, 'Object' => 39, 'Optimize' => 25,
'PDF' => 37, 'PHP' => 44, 'PSD' => 17, 'Photography' => 28, 'Photoshop' => 46,
'Revert' => 50, 'Saturation' => 35, 'Save as' => 28, 'Scope' => 11, 'Scripting' => 9,
'Security' => 41, 'Sharpen' => 49, 'Switch' => 41, 'Templates' => 11, 'Texture' => 22,
'Tool Palette' => 30, 'Variables' => 50);
return $arr;
}
function get_tag_cloud() {
// Default font sizes
$min_font_size = "1";
$max_font_size = "5";
// Pull in tag data
$tags = get_tag_data();
//Finally we start the HTML building process to display our tags. For this demo the tag simply searches Google using the provided tag.
$cloud_html = '';
$cloud_tags = array(); // create an array to hold tag code
$spread = $max_font_size - $min_font_size;
if (0 == $spread) { // we don't want to divide by zero
$spread = 1;
}
foreach ($tags as $tag => $count) {
$size = $min_font_size + ($count - $minimum_count)
* ($max_font_size - $min_font_size) / $spread;
$cloud_tags[] = '<a style="font-size: '. floor($size) . 'px'
. '" class="tag_cloud" href="
http://www.google.com/search?q=' . $tag
. '" title="\'' . $count . ' ' . $tag . '\' themes ">'
. htmlspecialchars(stripslas
hes($tag))
. '</a>';
}
$cloud_html = join("\n", $cloud_tags) . "\n";
return $cloud_html;
}
?>
<html>
<head>
<title>PHP wordCloud by LotsOfCode.com</title>
<style type="text/css">
.tag_cloud { padding: 3px; text-decoration: none; }
.tag_cloud:link { color: #81d601; }
.tag_cloud:visited { color: #019c05; }
.tag_cloud:hover { color: #ffffff; background: #69da03; }
.tag_cloud:active { color: #ffffff; background: #ACFC65; }
</style>
</head>
<body>
<h3>Sample Tag Cloud results</h3>
<div id="wrapper"
<!-- BEGIN Tag Cloud -->
<?php print get_tag_cloud(); ?>
<!-- END Tag Cloud -->
</div>
</body>
</html>