Para crear nuestra nube de etiquetas con PHP vamos a utilizar la clase PHP Tag cloud creada por lotsofcode.

Os voy a poner a continuación un ejemplo que utilicé una vez en el desarrollo de una página que necesitaba una nube de etiquetas:

CSS

:link { text-decoration: none;}
:visited { text-decoration:none;}   

a{
	color:#88D6FF;
}

.tagg span{
	margin-right:8px;
}

a:hover{
	text-decoration:underline;	
}

#tagcloud_1 {
    font-family: "Arial";
    opacity: .5; 
    font-size: 12pt;    
    line-height: 18pt;
}

#tagcloud_2 {
    font-family: "Arial";
    opacity: .5; 
    font-size: 13pt;    
    line-height: 18pt;
}

#tagcloud_3 {
    font-family: "Arial";
    opacity: .5; 
    font-size: 14pt;    
    line-height: 18pt;
}

#tagcloud_4 {
    font-family: "Arial";
    opacity: .5;
    font-size: 15pt;    
    line-height: 18pt;
}

#tagcloud_5 {
    font-family: "Arial";
    opacity: .5;
    font-size: 16pt;    
    line-height: 18pt;
}

#tagcloud_6 {
    font-family: "Arial";
    opacity: .6;
    font-size: 17pt;    
    line-height: 18pt;
}

#tagcloud_7 {
    font-family: "Arial";
    opacity: .7;
    font-size: 18pt;    
    line-height: 18pt;
}

#tagcloud_8 {
    font-family: "Arial";
    opacity: .8;
    font-size: 19pt;    
    line-height: 18pt;
}

#tagcloud_9 {
    font-family: "Arial";
    opacity: .9;
    font-size: 20pt;    
    line-height: 18pt;
}

#tagcloud_10 {
    font-family: "Arial";
    font-size: 21pt;    
    line-height: 18pt;
}

PHP

include("TagCloud.php");
include("conexion.php");

class tags{
		
	public $mysql;
		
	function tags(){
		
		$this->mysql = new conectarMySQL();
		$this->mysql->conectar();
			
	}
		
		
	function obtener(){
			
		$sql = $this->mysql->consultar("SELECT tags FROM tabla");
			
		if($sql == true){
				
			$full_tags = "";
				
			while($row = $this->mysql->obtener_consulta()){
					
				$tag = $row['tags'];
					
				//comprobamos que el último caracter sea una coma.
				$pos = strlen($row['tags']) - 1;
					
				//si el último caracter no es una coma, se la ponemos.
				if($tag[$pos] != ","){
					
					$tag = $tag.",";
					
				}
					
				$full_tags = $full_tags." ".$tag;
					
			}
				
			//remplazamos posibles errores
			$full_tags = str_replace(", ",",",$full_tags);
			$full_tags = str_replace(",,",",",$full_tags);
				
			//limpiamos la primera coma
			$full_tags = substr($full_tags,1,strlen($full_tags));
				
			//separamos los tags uno a uno en un array
			$array_tags = explode(",", $full_tags);
								
			return $array_tags;
				
				
		}else{
			echo "error ".mysql_error();	
		}
			
	}			
		
}

//instanciamos la clase
$f = new tags();

//creamos el array con los tags
$array = $f->obtener();

//cremos la nube de etiquetas con nuestros tags
$o = new Cal_TagCloud($array);

//personalizamos la nube de etiquetas
$o->setmaxTags(25)
  ->setShowScore('score')
  ->setLink('http://www.tuweb.com/tag/%s')
  ->buildCloud();

//mostramos la nube de etiquetas
echo $o->outputCloud;

El archivo conexión.php es una clase que utilizo para hacer las conexiones y consultas con la base de datos, para obtener esta clase puedes ver el artículo de Instanciar una clase dentro de otra en PHP 5, puesto que es el mismo archivo Conexión.php que tiene esa entrada.

Descargar PHP Tag Cloud

Sobre Reacción Estudio

Somos un estudio informático formado por jóvenes centrados en el desarrollo web, el diseño gráfico y la fotografía. Puedes solicitar presupuesto para tu proyecto a través de nuestra página web o por teléfono, pero en este blog hablaremos de todo lo que engloba el desarrollo web a día de hoy.


Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.     ACEPTAR