1、随机颜色、随机位置或者其他动态效果;2、字体大小反映标签权重。 /** * (功能描述) * 生成标签云 * * @para (类型) (参数名) (描述) * @para Array $arr 传递的数组 * eg.键名为字,键值为权重 * $tags = array("text" => "3", "bit" => "2", "byte" => "0"); */ function _tagCloud($arr) { if (count($arr) > 0) { $size_max = 2; $size_min = 1; //$html = '<div class="nav">Tags</div><div id="tags_cloud">'; $max = max($arr); $min = min($arr); //echo $max . $min; foreach ($arr as $tag=>$count) { /*计算字体大小 BOF*/ $a = ($size_max - $size_min) / ($max - $min); $b = $size_min - $a * $min; $size = round($a * $count + $b, 1) . "em"; /*计算字体大小 EOF*/ $_a[] = '<a href="tag.php?q='.urlencode($tag).'" mce_href="tag.php?q='.urlencode($tag).'" style="color:#'. dechex(rand(0, 16777215)) . ';font-size:'.$size.';" mce_style="color:#'. dechex(rand(0, 16777215)) . ';font-size:'.$size.';">' . $tag . '</a>'; } shuffle($_a); // 乱序数组 $html .= join(" ", $_a); //$html .= '</div>'; } return $html; }