Home >Backend Development >PHP Tutorial >Code example for creating tag cloud in php
This article introduces a piece of code that uses PHP to create a tag cloud, and creates a tag cloud effect through a custom PHP function. Friends in need can refer to it.
An example of the php tag cloud creation code is as follows: <?php /** * php 标签云效果 * edit: bbs.it-home.org */ 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[] = '' . htmlspecialchars( stripslashes( $tag ) ) . ''; } 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); The core code of a php tag cloud that I have collected: <?php $artist = array("the roots","michael jackson","billy idol","more","and more","and_YET_MORE"); $count = array(5,3,9,1,1,3); $highest = max($count); for ((int) $x = 0; x < count($artist); $x++) { $normalized = $count[$x] / $highest; $heading = ceil($normalized * 6); // 6 heading types echo "<h".$heading.">".$artist[$x]."</h".$heading.">"; } ?> |