четверг, 19 февраля 2015 г.

Простенькое облако тэгов!!

Простенькое облако тэгов!!
Писал его программист, которому дал тестовое задание!!!
PHP код:
<?php if(!defined("DNREAD")) exit();
global 
$setting,$db,$basepref$tegs $db->query("SELECT * FROM ".$basepref."_article");
 while(
$r $db->fetchrow($tegs)) {
     if (!empty(
$r[keywords])) $z=$z.",".$r[keywords];
    } 
$tags=explode(",",$z);
foreach (
$tags as $t) {
if (
$t=="") unset ($t);
$minSize=10//минимальный размер шрифта $maxSize=26//максимальный размер шрифта
 // расчитаем частоты тегов
  
$tags_list = array();  
  foreach (
$tags as $tag_name) {
        
$count 0;  
        foreach (
$tags as $tag) {  
               if (
$tag == $tag_name) {  
                   
$count++;  
            }  
        }  
            
$tags_list[$tag_name] = $count;  
        }   
$minWeight=min($tags_list); //минимальный вес тега $maxWeight=max($tags_list); //максимальный вес тега  $tegi=array(); //вычислим размер шрифта тегов foreach ($tags_list as $tag=>$tagWeight) {
    
//шрифт по логарифмическому закону
    
$fontfloor( (log($tagWeight 1) - log($minWeight 1)) / (log($maxWeight 1) - log($minWeight 1)) * ($maxSize $minSize) + $minSize );
    
//добавим в массив
    
$tegi[]='<a href="" style="font-size:'.$font.'px">'.$tag.'</a>';
//теперрь перетасуем и выведем shuffle($tegi);
return 
implode(' ',$tegi); ?>

0 коммент.:

Отправить комментарий