php 创建tag云输出(不同标签字体不同大小)

前端之家收集整理的这篇文章主要介绍了php 创建tag云输出(不同标签字体不同大小)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

<?PHP
/**
 * 创建tag云输出标签字体大小不同)
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
function getCloud( $data = array(),$minFontSize = 12,$maxFontSize = 30 )
{
$minimumCount = min( array_values( $data ) );
$maximumCount = max( array_values( $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);


/*** 来自:编程之家 jb51.cc(jb51.cc) ***/ 
?>

猜你在找的PHP相关文章