<?phpclass Bulut{function Bulut($dosya = 'bulut.dat'){if(!file_exists($dosya)){$f = fopen($dosya,"w");fyaz($f,serialize(array()));fclose($f);}}static function hazirla($giris){$giris = preg_replace("/\d+/","",$giris);$giris = preg_replace("/\W+/","-",$giris);$giris = preg_replace("/(^\W)|(\W$)/","",$giris);$giris = preg_replace("/[\-]+/","-",$giris);return ($giris);}static function yaz($bulut,$dosya = 'bulut.dat'){$f = fopen($dosya,"w");fwrite($f,serialize($bulut));fclose($f);}static function oku($dosya = 'bulut.dat'){if(!file_exists($dosya))$bulut = new Bulut;$dosya = file($dosya);$bulut = unserialize($dosya[0]);return $bulut;}static function guncelle($kelime){$bulut = Bulut::oku();$kelime = Bulut::hazirla($kelime);if(array_key_exists($kelime,$bulut))$bulut[$kelime]++;else$bulut[$kelime] = 1;Bulut::yaz($bulut);}static function isle($format,$min = 9,$maks = 28){$bulut = Bulut::oku();if(sizeOf($bulut) == 0){$sonuc = 'Veri Yok';$bulut = new Bulut;} else {$min_say = min(array_values($bulut));$maks_say = max(array_values($bulut));$spoku = $maks_say - $min_say;$sonuc = '';foreach($bulut AS $bulut=>$cnt){$boyut = $min + ($cnt - $min_say) * ($maks - $min) / $spoku;$etiket = @str_replace('###KELIME###', $bulut, $format);$etiket = @str_replace('###BOYUT###', floor($boyut), $etiket);$sonuc .= $etiket;}}return $sonuc;}}Bulut::guncelle("php");Bulut::guncelle("javascript");Bulut::guncelle("html");Bulut::guncelle("css");echo Bulut::isle('<a href="?###KELIME###" style="font-size:###BOYUT###px">###KELIME###</a> ');?>
Çıktısı
href="?php" style="font-size:28px"phphref="?javascript" style="font-size:14px"javascripthref="?html" style="font-size:9px"htmlhref="?css" style="font-size:9px"css