Düzenli İfade İle Veri Girişi Doğrulama Kontrol Sınıfı

<?php
class duzenliIfadeKontrol {
	public static function epostaKontrol($metin){
		return self::kontrol($metin,"/^[^@]*@[^@]*\.[^@]*$/");
	}
	public static function ipKontrol($metin){
		return self::kontrol($metin,"/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/");
	}
	public static function hexRenkKontrol($metin){
		return self::kontrol($metin,"/^#[a-fA-F0-9]{6}$/");
	}
	public static function hexNoKontrol($metin){
		return self::kontrol($metin,"/^[a-fA-F0-9]{6}$/");
	}	
	public static function rakamKontrol($metin){
		return self::kontrol($metin,"/^[-+]?\b[0-9]+(\.[0-9]+)?$/");
	}
	public static function sayiKontrol($metin){
		return self::kontrol($metin,"/^[-+]?\b[0-9]*\.?[0-9]+$/");
	}
	public static function kullaniciKontrol($metin){
		return self::kontrol($metin,"/^[a-z\d_]{4,28}$/i");
	}
	private static function kontrol($metin,$kural){
		if (preg_match($kural,$metin))
			return true;
		return false;
	}
}
echo "E-POSTA: ".duzenliIfadeKontrol::epostaKontrol("jordigirones@gmail.com")."<br>";
echo "IP: ".duzenliIfadeKontrol::ipKontrol("192.168.12.31")."<br>";
echo "HEX RENK: ".duzenliIfadeKontrol::hexRenkKontrol("#336AA9")."<br>";
echo "HEX NO: ".duzenliIfadeKontrol::hexNoKontrol("336AA9")."<br>";
echo "RAKAM: ".duzenliIfadeKontrol::rakamKontrol("12345")."<br>";
echo "SAYI: ".duzenliIfadeKontrol::sayiKontrol("12345.6789")."<br>";
echo "KULLANICI: ".duzenliIfadeKontrol::kullaniciKontrol("jgirones");
?>

Çıktısı

E-POSTA: 1
IP: 1
HEX RENK: 1
HEX NO: 1
RAKAM: 1
SAYI: 1
KULLANICI: 1

 

Hex Kodunu Metine, Metni Hex Koduna Çevirme

<?php
header('Content-Type: text/html; charset=utf-8');
class Hex{
	var $hex;
	var $tmp;
	function cevirHex($metin){
		$metin=htmlspecialchars_decode($metin);
		foreach(unpack('C*',$metin) as $dec){
			$tmp = dechex($dec);
			$this->hex[] .= strtoupper(str_repeat('0',2-strlen($tmp)).$tmp);	
		}
		return join($this->hex);
	}
	function cevirMetin($hexcode){
		foreach(str_split(trim($hexcode),2) as $hex){
			$this->tmp .= pack('C*', hexdec($hex));
		}
		return htmlspecialchars($this->tmp);
	}
}
$obj = new Hex;
$hexcode = "3C3F706870206563686F20226D6572686162612064C3BC6E7961223B3F3E";
echo $metin=$obj->cevirMetin($hexcode)."<br>";
echo $obj->cevirHex($metin);
?>

Çıktısı

<?php echo "merhaba dünya";?>
3C3F706870206563686F20226D6572686162612064C3BC6E7961223B3F3E3C62723E

 

Internet Explorer için RGBA Renk Oluşturma

Eski Internet Explorer tarayıcılar için RGBa kullanma mantığını ele alacağız.

background: rgba(255, 255, 255, 0.3); <br>filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4cffffff', endColorstr='#4cffffff');

Str=># 4cFFFFFF=>opacity+renk
Örnekte görüldüğü üzere start ve end color str hex değerlerinde ff rengi, 4c opacity i belirtiyor.
mesela rgba(0,0,0,1) için #ff000000 veya rgba(255,255,255,1) için #ffffffff
rgba(0,0,0,0) için #00000000 veya rgba(255,255,255,0) için #00ffffff
rgba(0,0,0,0.3) için #4c000000 veya rgba(255,255,255,0.3) için #4cffffff
Opacity mantığı
hex değerleri bu karakterlerden oluşur=>fedcba9876543210

255 renk için opacity değerleri
0.1 opacity=25.renk=19
0.2 opacity=51.renk=33
0.3 opacity=76.renk=4c
0.4 opacity=102.renk=66
0.5 opacity=127.renk=7f
0.6 opacity=153.renk=99
0.7 opacity=178.renk=b2
0.8 opacity=204.renk=cc
0.9 opacity=229.renk=e5

ff=0 opacity’e eşittir,00=opacity’e eşittir

Hex değeri nasıl hesaplarım?

<?php $opacity=0.7;//buraya istediğiniz değeri girin.Ben 0.7 yaptım
$renkbul=floor(255*$opacity);
echo $renkbul.".renk hex =>".dechex($renkbul);//çıktısı 178.renk =>b2
?>
<style>
body{
	/*0.7 opaklığa sahip siyah için*/
	background: rgba(255, 255, 255, 0.7); /* diğer tarayıcılar */
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#b2000000', endColorstr='#b2000000'); /* IE */
}
</style>