2009-11-23

Nube tags - etiquetas en php

Os dejo esta sencilla función para crear una nube de etiquetas en php:

function nube( $data = array(), $min, $max,$cuantos ) {

$numero_array = count($data);
$rand_keys=array_rand($data,$cuantos);
for($i = 0; $i < $numero_array; $i++){
$size = floor(rand($min, $max));

echo '<a style="font-size: ' . $size . 'px'
. '" href="http://avanzaweb.net/search/label/'.$data[$rand_keys[$i]].'" title="Apuntes sobre ' . $data[$rand_keys[$i]] .
'">'
. htmlspecialchars( stripslashes( $data[$rand_keys[$i]] ) ) . '</a> ';
}

}

Esta función crea la nube de etiquetas a partir de un array en el se indican las palabras. Debes introducirle el valor mínimo y máximo en pixeles para las etiquetas y cuantos valores quieres que salgan. La función realiza una reordenación aleatoria de las etiquetas que hace que la nube vaya cambiado para cada usuario.

Para invocarla bastaría con poner:

nube($datos,10,30,20);

$datos sería el array con los datos como $array("sexo","seo","segovia","sebas");
10 el tamaño mínimo
30 el tamaño máximo
20 el número de tags que van a aparecer.

Está pensada para que se tenga una lista larga de tags y que vayan rotando por la nube.

No hay comentarios: