PHP ile Hex Renk Kodunun Doğruluğunu Kontrol Etmek

7 yorum

Yakın zamanda hazırladığım filmzeo.com adlı projemde, kullanıcıların renkleri kendileri seçmesi için bir servis hazırladım. Dışarıdan hex değeri alıyor buna göre renklendiriyor. Ancak sadece hex kodu girmeleri gerekiyordu, örneğin “red” ya da renkle alakasız değerler girdiklerinde css’de sorunlara yol açıyordu. Bunun önüne geçmek için girilen renk değerinin hex olup olmadığını doğrulamam gerekiyordu. Ufak bir araştırma sonucunda ise aşağıdaki kodlar ile doğrulama işlemi yaptım. Birgün size de lazım olabilir diye paylaşıyorum.

$color = 'fa6582';
if (ctype_xdigit($color) && (strlen($color) == 6 || strlen($color) == 3)){
   echo 'geçerli hex renk kodu';
} else {
   echo 'geçersiz bir hex kodu';
}

kolay gelsin 🙂

Yorumlar (7)

Abdulkadir İncebakır demiş ki;

Mükemmel bir anlatım Teşekkürler.

Sanan Mammadov demiş ki;

super

Tayfun Erbilen demiş ki;

@Ali G, test sonuçlarına göre bu daha performanslı bu yüzden.

Ali G demiş ki;

Neden RegEx tercih etmediniz?

Meraklı Yorumcu demiş ki;

El atmışken renk seçme işlemini tam olarak ele alsan çok daha güzel olur hocam. :)

Bide siteyi ziyaret ettim, Anasayfa, Kategoriler ... olan menüde :hover efekti çok hoş duruyor, bunuda kısaca bi ele alırsan tadından yenmez. :)

Tayfun Erbilen demiş ki;

@Semih, evet dediğin gibi onuda kontrole ekledim, teşekkürler ^^

Semih demiş ki;

Sadece bu fonksiyonu kullanman yeterli olmaz, aynı zamanda $color değişkeninin uzunluğunun 3 veya 6 olması gerekir.

Yorum Gönder