Birçok arkadaşımızın ihtiyacı olan (random) etiket renklendirmeyi paylaşıyorum. Umarım işinize yarar.
Yardımları için Dakota arkadaşımıza teşekkürler.


Bu kodu "functions.php" ye etiket sistemi kodlarından önce ekleyin;
 //rasgele etiket renklendirme 
function randchar($length = 8, $range = "anc", $case = 'm') 
{ 
    $str = null; 
    if (gettype($length) != "integer") 
            $length = 8; 

    // determine character range 
    switch (TRUE) { 
    case ("abc" == $range || "alpha" == $range || "alphabetic" == $range):   // alphabetic 
        $minval = 2; $maxval = 3; 
        break; 
    case ("dmc" == $range || "color" == $range):    // color: decimal 
    case ("hxc" == $range || "hexcolor" == $range): // color: hexadecimal 
        $minval = 5; $maxval = 5; 
        if ($length > 24) $length = 24; 
        $depth  = $length; 
        $length = 6; 
        break; 
    case ("dmg" == $range || "gray" == $range):     // gray: decimal 
    case ("hxg" == $range || "hexgray" == $range):  // gray: hexadecimal 
        $minval = 5; $maxval = 5; 
        if ($length > 24) $length = 24; 
        $depth  = $length; 
        $length = 2; 
        break; 
    case ("hxd" == $range || "hex" == $range || "hexadecimal" == $range):    // hexadecimal 
        $minval = 5; $maxval = 5; 
        break; 
    case ("nmc" == $range || "num" == $range || "numeric" == $range):        // numeric 
        $minval = 1; $maxval = 1; 
        break; 
    case ("anc" == $range || "alnum" == $range || "alphanumeric" == $range): // alphanumeric 
    default :   // alphanumeric 
        $minval = 1; $maxval = 4; 
        break; 
    } 

    // build string 
    for ($i = 0;$i < $length;$i++) { 
        switch (@rand($minval, $maxval)) { 
        case 1: $str .= chr(rand(48, 57));  // 0-9 
            break; 
        case 2: $str .= chr(rand(97, 122)); // a-z 
            break; 
        case 3: $str .= chr(rand(65, 90));  // A-Z 
            break; 
        case 4: $str .= chr(rand(48, 57));  // 0-9 
            break; 
        case 5: $str .= dechex(rand(0,15)); // 0-15 
                break; 
        } 
    } 

    // procedure for color values 
    switch (TRUE) { 
    case ("dmc" == $range || "color" == $range): 
    case ("dmg" == $range || "gray" == $range): 
    case ("hxc" == $range || "hexcolor" == $range): 
    case ("hxg" == $range || "hexgray" == $range): 
        $clrs  = chunk_split($str,2,' ');      // space delimit color value pairs 
        $clrs  = explode(' ',trim($clrs));     // load color value pairs into array 
        $bpclr = floor($depth/3);              // set number of bits per color value 
        $step  = (256/pow(2,$bpclr));          // calculate step value for quantizing 
        foreach ($clrs as $key => $clr) { 
            $clrs[$key] = hexdec($clr);        // convert to decimal for manipulation 
            $clr = round($clrs[$key] / $step); // calculate quantizing (Q) factor 
            $clr = $clr * $step;               // multiply color value by Q factor 
            $clr = $clr - floor($clr/256);     // adjust to maintain bounds 0-256 
            $clrs[$key] = $clr;                // replace original color value pair 
        } 

        // triple gray value 
        switch (TRUE) { 
        case ("dmg" == $range || "gray" == $range): 
        case ("hxg" == $range || "hexgray" == $range): 
            $clrs = array_pad($clrs,3,$clrs[0]); 
            break; 
        } 

        // comma delimit decimal color values 
        switch (TRUE) { 
        case ("dmc" == $range || "color" == $range): // r,g,b 
        case ("dmg" == $range || "gray" == $range):  // r,g,b 
            $str = implode(",", $clrs); 
            break; 
        case ("hxc" == $range || "hexcolor" == $range):  // rrggbb 
        case ("hxg" == $range || "hexgray" == $range):   // rrggbb 
            $str =  ( 
                 sprintf("%02x",$clrs[0]) 
                .sprintf("%02x",$clrs[1]) 
                .sprintf("%02x",$clrs[2]) 
                ); 
            break; 
        } 
    break; 
    } 

    // set character case 
    switch (TRUE) { 
    case ('l' == $case || "lower" == $case): // lower case 
        $str = strtolower($str); 
        break; 
    case ('u' == $case || "upper" == $case): // upper case 
        $str = strtoupper($str); 
        break; 
	} 
    return $str; 
}
çalıştırmak için ise "functions.php" deki bu kodu;
<a href="<?=$siteurl?>/etiket/<?=$deger?>.html"><?=$deger?></a>
bu kod ile değiştirin;

<a href="<?=$siteurl?>/etiket/<?=$deger?>.html"> <font color="#<? echo randchar(10,"hexcolor"); ?>"><?=$deger?> </font>  </a>
Not: etiket sisteminde link yapısını değiştirmişseniz en altta verdiğim kodu kendi sitenize göre düzenlemeniz gerekir.

etiket sistemi çalışan demo site: Oyun Oyna