PHP Düzenli İfadeler (RegEx) Kütüphanesi

14 Mart 2012 Çarşamba, 04:45 sularında İzni Burak Demirtaş tarafından #php konularında yazılmış.
Yazıldığından bu yana, 3438 kez okunmuş ve 0 yorum almış.

Düzenli ifadeler yani Regular Expressions, yazılım yazılırken karşılaştığımız bazı durumlarda oldukça lazım olan bir yapıdır. Kısa adı RegEx olan bu yapıda, string bir ifade içerisinden belirtteceğimiz kurallara uygun şekilde değerler üretmemize olanak sağlanıyor. PHP diline göre örnek verecek olursam; örneğin, bir bot yazıyoruz ve kaynak sitemizden içerik alacağız. İçeriği alacağımız bölümün kaynak kodlarına göre RegEx yapısını kullanmamız icap edebilir.

Bir başka örnek ise, diyelim ki sitemize üye olan bir kullanıcının E-Posta adresini, telefon numarasını ve doğum tarihini kayıt edeceğiz. Kullanıcının gireceği değerleri RegEx ile kontrol ederek, belirtilen kurallara uygun olup olmadığını (mesela telefon numarası içerisinde rakam haricinde bir karakter kullanılmaması veya e-posta adresinde x@y.zzz gibi bir yapının bulunması) kontrol edebiliriz. Örneklerden de anlayacağımız gibi, RegEx belli başlı durumlara göre hayat kurtarıcımız olabiliyor :) 

Benim gibi PHP ile uğraşan arkadaşlara kolaylık olması açısından bazı RegEx desenleri paylaşayım:


Domain (Alan Adı) Kontrolü

<?php
 $url = "http://burakdemirtas.org/";
 if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) { echo "Doğru URL"; }
 else { echo "Yalnış URL"; }


E-Posta Kontrolü RegEx kalıbı ve filter_var kullanımı:

<?php
 $email = "eposta@ornek.com";
 if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) { echo "Doğru E-Posta"; }
 else { echo "Yanlış E-Posta"; }
<?php
 if (filter_var('ornek+eposta@ornek.com', FILTER_VALIDATE_EMAIL)) { echo "Doğru E-Posta"; }
 else { echo "Yanlış E-Posta"; }


IP adresi kontrolü RegEx kalıbı:

<?php
 $ip = "173.192.115.94";
 if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$ip)) { echo "Doğru IP Adresi."; }
 else { echo "Yanlış IP Adresi"; }


Kredi Kartı Numarası kontrolü RegEx kalıbı:

<?php
 $kartNo = "5588320123456789";
 if (preg_match('/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/', $kartNo)) { echo "Doğru Kart Numarası."; }
 else { echo "Yanlış Kart Numarası"; }

Daha çok kalıp buldukça bu yazıyı güncelleyip sizinle paylaşacağım. Umarım faydasını görürsünüz. İyi kullanımlar.


Yorumunu Gönder     Sende görüşünü yaz!

Hiç yorum yapılmamış.   İlk yorumu sen yap!

Yine aylar olmuş ve buralarda gözükmüyorum. Ne zaman "buralara daha çok vakit ayıracağım, bol bol yazacağım" desem, kesin başka bir şeyler çıkıyor; işler, güçler, yoğunluklar vs, odaklanamıyorum. Öyle ya da böyle bunu bir düzene oturtacağım. inatçıyım bu konuda....

8 Temmuz 2018, 04:55   —   #genel   —   Yorum yok.   —   Devamını Oku »

Buraları yine oldukça aksatmış olmanın verdiği iç rahatsızlığı ile, geçen haftadan beri bir şeyler karalamaya olan isteğim ancak şu an vuku buluyor. Geçen hafta oldukça yoğun ve hareketli geçtiği için yazmaya vakit bulamadım aslında. Ya da ne bileyim, belki de bahane buluyorum......

27 Şubat 2018, 11:34   —   #genel   —   2 yorum var.   —   Devamını Oku »

Gidelim buradan...

"Gidelim buradan... Göğsünü sıkan, içini daraltan o laneti geride bırakıp gidelim. Burada yağmur bile güzel yağmıyor artık. Yağmuru güzel yağan bir yerlere gidelim....

5 Ocak 2018, 04:57   —   #karalamaca   —   Yorum yok.   —   Devamını Oku »

$_2018 = new HappyYear();

Zamanın ne denli hızlı aktığını bilmiyorum ama, gerçekten "su gibi" akıp geçiyor deyimi doğru galiba. Ne ara 2018 geldi, kapımıza dayandı; hiç bir fikrim yok. Oysa ben daha tarih yazmak zorunda olduğum kağıtlara "2017" yazmaya bile alışmamıştım. Şimdi bir de 2018 çıktı başımıza. ...

31 Aralık 2017, 17:10   —   #genel   —   Yorum yok.   —   Devamını Oku »

İnsanın içindeki sıkıntıya bir isim, bir sebep bulamamasına hep şaşırmışımdır. Çok şaşırdığı ne varsa, bunları çok mu yaşıyor insanlar genelde hiç bilmiyorum. Ama bu en azından bende genelde böyle oluyor. Açık konuşayım mı? Birinin bir sözü vardı, ama kimindi hatırlamıyorum. Şöyle diyordu: "Kafamdan atamıyorum. Hep aklıma geliyor, hem de en tuhaf zamanlarda. Duştan çıkarken, sokakta yürürken, gece yatağıma yatarken; bilinçli olarak bir şey düşünmediğim zamanlarda."... Sanki hayat denen bu değişik alem içinde, bir yerlerde bu söz içerisinde bir yerlerde sıkışmış kalmış gibiyim. Nedenini bilmiyorum. Belki de biliyorum. Belki de bildiğimi bilmiyorum. Belki anlatamıyorum, belki anlatmak istemiyorum. Belki içimden atmak istiyorum. Belki de atamıyorum. Belki seviyorum, belki de yine seviyorum.. Bazen çok saçmalıyorum değil mi? Biliyorum. Sarhoş da değilim ama olmadığıma da beni kim ikna edebilir? Zaten sarhoşken de anlatamıyorum. Atamıyorum. Seviyorum. Neyse, belki de en iyisi uyumak.

11 Aralık 2017, 04:27   —   #karalamaca   —   3 yorum var.   —   Devamını Oku »

hello İstanbul!

Üniversite hayatını bitirdik. Aslında planım, elimdeki projeler ile ilgilenip bir yandan da sene sonuna kadar kafa dinlemekti. 2018 itibariyle iş-güç arayışlarına girişecek ve mutlu olabileceğim, bana bi'şeyler katabilecek, hem kendime hem onlara fayda sağlayacağım bir şirket bulmak için adımlar atacaktım. Tahmin edeceğiniz üzere planlar yine tutmadı....

6 Ekim 2017, 10:02   —   #karalamaca   —   Yorum yok.   —   Devamını Oku »

Eylül'dü. 
Dalından kopan yaprakların, 
Sararan yanlarına yazdım adını. 
Sahte bir gülüşten ibarettin oysa. 
Ve hiç bilmedin ellerimin soğuğunu. ...

16 Eylül 2017, 17:13   —   #karalamaca   —   Yorum yok.   —   Devamını Oku »
daha fazla göster