Php Ereg() ve Eregi() Fonksiyonları


PHP‘nin temel düzenli ifade fonksiyonu ereg() arattığımız karakter sıralanışı bulunduğunda doğru, bulunamadığı durumda da yanlış değeri döndürür.


Fonksiyonun kullanımı:


Kod:
$degisken = ereg("eşleştirilecek_sıra" , $kaynak , $yeni_değişken);
Fonksiyonun aradığımız eşleştirmeyi yapması halinde, buradaki $degisken‘in değeri true/doğru, yapamaması halinde ise false/yanlış olacaktır. Eşleştirme sırasının nasıl oluşturulduğunu yukarıda gördük; bu ifadelerden işimize uygun olanı buraya tırnak içinde yazarız. $kaynak, eşleştirilecek sıralamanın içinde aranacağı değeri tutan değişkendir. Fonksiyonun bir diğer becerisi, eğer eşleştirilecek sıralamayı gruplar halinde verirsek, kaynakta yapacağı eşleştirme olursa, buna uygun değerleri bir dizi değişkene yazabilmesidir; istersek bir parametre olarak bu yeni değişkenin almasını istediğimiz adı veririz; böylece eşleştirme sonucu bulunan değerler kaydedilmiş olur.




Diyelim ki formdan gelen bir veri var ve bu veriyi kontrol etmek istiyoruz.
Güvenlik açığı oluşturabilecek yani html kodları olmasın isterseniz, aşağıdaki fonksiyon işinize yarayacaktır. Sadece A’dan Z’ye (küçük/büyük harf) ve 0-9 arasındaki karakterlere izin verilir.


Kod:
$text = "mixedcharacters012345&../@";
if (ereg('[^A-Za-z0-9]', $text)) {
echo "geçersiz karakter var";
}
else {
echo "geçersiz karakter yok";
}
eregi(), aynen ereg() fonksiyonu gibi çalışır; sadece eşleştireceği değerlerde büyük-harf/küçük-harf farkı gözetmez.


Kod:
if (eregi("^.+@.+\\..+$", $adres, $email)) {
}

else {
$hata = "E-posta adresinizde hata var!<br>";
echo $hata;

include("hata.htm");
exit;
}
Bu örnekte $adres değişkeninde kayıtlı değerin içinde aradığı sıralamayı bulursa, eşleşen değeri $email adlı yeni bir değişkene yazacak ve if sınamasının sonucu doğru olacaktır. Bu sıralamaya uygun bir değer bulunamazsa, if sınaması else deyimine atlayacak ve bir hata mesajı üretilerek, bu program durdurulacaktır.