Crear una nube de etiquetas con PHP
1 COMENTARIO - Publicado hace 16 meses - Clasificado en: TIPS, SCRIPTS, PHPPensaba poner una nube de etiquetas en el blog. Ya la tenía programado pero de momento creo que no la voy a incluir. Dejo aquí el código, de esta manera seguro que no lo pierdo y de paso puede que le aproveche a alguien. También he colgado un ejemplo con el código en funcionamiento. El vector $Palabras, en vez de alimentarse "manualmente" tendría que hacerlo recogiendo los valores de una base de datos.
<?php
$ContadordePalabras = array();
// METEMOS TODAS LAS ETIQUETAS DENTRO DE UN ARRAY
$Palabras = split( ", ", "Pinceles, Photoshop, Vectorial, Estilos, Photoshop, Recursos, Fotografia, Fotografia, Ilustracion, Ilustradores, Portafolios, Inspiracion, Fotografia, Fotografia, htaccess, Generadores, Wallpapers, Fondos, Curiosidades, Ilustracion, Ilustradores, jQuery, Datagrid, Scripts, Photoshop, showcase, inspiracion, Negocios, Internet, CSS, Recursos, Desarrollo, Links, Freeware, Aplicaciones, Conversor, Patrones, Fondos, Web, Generadores, Fotografia, Flash, Remoting, Frameworks, Desarrollo, Programacion, Utilidades, Software, VNC, MAC, Consejos, Windows, Utilidades, Registro, Privacidad, Software, Sincronizacion, Backups, Utilidades, Juegos, Nintendo, Emuladores, Firefox, Fotografia, Productividad, Consejos, Recursos, PDF, Documentos, Blog, Intenta, Google, Recursos, Web, Javascript, CSS, Recursos, Vector, Illustrator, Corel, Ilustracion, Desarrollo, MySql, Citas, Exito, Fracaso, jQuery, Tutoriales, Tablas, Javascript, Desarrollo, Google, Web2, Redes, Facebook, Juegos, Gratis, Recursos, Ocio, CSS, Plantillas, Layouts, Recursos, Links, Photoshop, Fuentes, Fotografia, Usabilidad, Formularios, Desarrollo, Citas, Inspiracion, Ilustracion, Nielsen, Aplicaciones, Articulos, Clases, PHP, Correo, Fotografia, Citas, Pesimistas, Humor, JQuery, Javascript, Tutoriales, CSS, Posters, Ilustradores, Photoshop, Recursos, PSD, Javascript, PHP, Desarrollo, Optimizacion, Ilustracion, Ilustradores, Packaging, Articulos, Lightbox, Javascript, Desarrollo, Software, Iconos, PNG, Recursos, Javascript, Links, Tutoriales, Fotografia, Citas, Programadores, Humor, CAPTCHA, PHP, OpenSource, Recursos, CSS, Gridfox, Firefox, Extensiones, Desarrollo, Fotografia, Photoshop, Atajos, Tips, Citas, Cine, Citas, Cine, Citas, Cine, SEO, Tips, Recursos, Recursos, Vectores, Illustrator, Citas, Fotografia, WordPress, CPU, Optimizacion, CSS, Recursos, Tips, Brushes, Photoshop, Recursos, Google, Tips, Ilustracion, Recursos, Vectores, Illustrator, EPS, Fuentes, Recursos, Tipografia, Brushes, Pinceles, Photoshop, Recursos, Firefox, Software, Cookies, Fotografia, PHP, Cadenas, Strings, Tips, Illustrator, Recursos, SCRUM, Proyectos, Metodologia, Iconos, Recursos, PNG, JQuery, Formularios, Validacion, Javascript, Flickr, Publicidad, Posters, Fuentes, Recursos, Tipografia, Fotografia, Tips, ASP, HTML, Citas, Optimismo, Firefox, Extensiones, Addons, Ilustracion, Fotografia, Citas, Fotografia, Tips, Visibilidad, Photoshop, Tutoriales, Tips, Citas, Software, Hardware, Icones, Brushes, Templates, Recursos, Vintage, Recursos, Fotografia, Usabilidad, Tips, , CSS, Tips, Trucos, Vectores, Recursos, Iconos, Photoshop, Pinceles, Brushes, Fotografia, Dreanweaver, Extensiones, JQuery, Fotografia, Feedburner, RSS, Sindicacion, Citas, Tutoriales, Wallpaper, Photoshop, Ilustracion, Siluetas, Vectores, Recursos, Citas, Inspiracion, Filtros, Photoshop, Tutoriales" );
foreach( $Palabras as $Palabra) {
$Palabra = strtolower($Palabra);
if (!array_key_exists($Palabra, $ContadordePalabras))
$ContadordePalabras[$Palabra] = 0;
$ContadordePalabras[$Palabra] += 1;
}
foreach( array_keys( $ContadordePalabras ) as $Palabra ) {
if ( $ContadordePalabras[$Palabra] > $max )
$max = $ContadordePalabras[$Palabra];
if ( $ContadordePalabras[$Palabra] < $min )
$min = $ContadordePalabras[$Palabra];
}
//VALORES QUE PODEMOS CAMBIAR
$tamanyo =38.0 /($max-$min );
$tamanyobase =12;
?>
<html>
<head>
<style type="text/css">
body { padding:50px; }
</style>
</head>
<body>
<div style="width:500px;background-color:#E4E4E4;border:1px solid #CCC;padding:10px;">
<?php
$NubeTags = array_keys($ContadordePalabras);
sort($NubeTags);
foreach( $NubeTags as $Palabra ){
$Pixeles = (int)($tamanyobase+ $ContadordePalabras[$Palabra]*$tamanyo);
echo "<a href='http://www.webintenta.com/".$Palabra."/' style='font-size:".$Pixeles."px;'>";
echo $Palabra."</a> ";
}
?>
</div>
</body>
</html>
Algunas entradas relacionadas:
- Javascript para ordenar tablas
- Mostrar tablas y campos de una base de datos MySQL con PHP
- Obtener ficheros por extension
- Rollover sobre imágenes con jQuery
- Limitar una cadena a un número de palabras
- Mostrar trackbacks con PHP
También te puede interesar:
| 13 preguntas a hacerse antes de publicar un post | Crear un efecto metálico con Photoshop | Face Your Manga: Crea tu avatar manga | RadioBeta: Accede a radios de todo el mundo | Snippets y recursos para iniciarse con .htaccess |
COMENTARIOS
|
|
Publicado hace 4 meses MaxS - http://bajarmp3.sullca.com Me sirvio de mucho el codigo, solo le cambie una funcion, por que la uso mas y funciona casi igual explode() por split, Saludos. |





















Mauricio Campos en 50 preguntas y respuestas de entrevistas de trabajo



