⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cloud.php

📁 一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大. 无色提示:按照需要PHP5.1以上和MySQL数据库支持。
💻 PHP
字号:
<?php/** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later * @version $Id: Cloud.php 444 2008-04-11 13:38:22Z johmathe $ * * @package Piwik_Visualization *//** * Generates a tag cloud from a given data array. * The generated tag cloud can be in PHP format, or in HTML.  * * Inspired from Derek Harvey (www.derekharvey.co.uk) *  * @package Piwik_Visualization */class Piwik_Visualization_Cloud{	protected $wordsArray = array();		public $truncatingLimit = 30;		/**	 * @param array array( word => 10, word2 => 50, word3 => 1)	 */	function __construct($words = false)	{		if ($words !== false && is_array($words))		{			foreach ($words as $word => $value)			{				$this->addWord($word, $value);			}		}	}	 	/*	 * Assign word to array	 *	 * @param string $word	 * @return string	 */	function addWord($word, $value = 1)	{		//        $word = strtolower($word);		if (isset($this->wordsArray[$word]))		{			$this->wordsArray[$word] += $value;		}		else		{			$this->wordsArray[$word] = $value;		}	}	 	/*	 * Shuffle associated names in array	 */	function shuffleCloud()	{		$keys = array_keys($this->wordsArray);		 		shuffle($keys);		 		if (count($keys) && is_array($keys))		{			$tmpArray = $this->wordsArray;			$this->wordsArray = array();			foreach ($keys as $key => $value)			$this->wordsArray[$value] = $tmpArray[$value];		}	}	 	/*	 * Calculate size of words array	 */	 	function getCloudSize()	{		return array_sum($this->wordsArray);	}	 	/*	 * Get the class range using a percentage	 *	 * @returns int $class	 */	 	function getClassFromPercent($percent)	{		$mapping = array(		95,		70,		50,		30,		15,		5,		0		);		foreach($mapping as $key => $value)		{			if($percent >= $value)			{				return $key;			}		}	}	 	/*	 * Create the HTML code for each word and apply font size.	 *	 * @returns string $spans	 */	 	function render($returnType = "html")	{		$this->shuffleCloud();		if($returnType == "html")		{			$return = '';		}		else		{			$return = array();		}		if (count($this->wordsArray) > 0)		{			$this->max = max($this->wordsArray);			$return = ($returnType == "html" ? "" : ($returnType == "array" ? array() : ""));			foreach ($this->wordsArray as $word => $popularity)			{				 				// truncating the word				$wordTruncated = $word;				if(strlen($word) > $this->truncatingLimit)				{					$wordTruncated = substr($word, 0, $this->truncatingLimit - 3).'...';				}				 				// computing the percentage				$percent = ($popularity / $this->max) * 100;				// and the CSS style value				$sizeRange = $this->getClassFromPercent($percent);				if ($returnType == "array")				{					$return[$word]['word'] = $word;					$return[$word]['wordTruncated'] = $wordTruncated;					$return[$word]['size'] = $sizeRange;					$return[$word]['percent'] = $percent;				}				else if ($returnType == "html")				{					$return .= "\n<span title='".$word."' class='word size{$sizeRange}'> &nbsp; {$wordTruncated} &nbsp; </span>";				}				//            	print( $word ."=".$percent."<br>");			}		}		return $return;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -