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