Üye Girişi Yapınız     


    E-Posta
    

    Şifreniz
    



Şifremi Unuttum


Ana Sayfa Site Hakkında İletişim Ziyaretçi Defteri Döküman İndir Makale Ekle Haber Ekle

     Php’de Düzenli İfadeler(Regular Expressions)
     admin     04.12.2013     16:26:50

Bu yazıda bir ifade üzerinde işlem yapmaya yarayan bir tür söz dizimi diyebiliriz. Ve bu işlemler arasında (kullandığınız fonksiyona bağlı olarak) arama, değiştirme ve parçalamayı sayabiliriz.

Ama hemen belirtelim aslında bu bahsettiğimiz söz diziminin de (en azından PHP için) birden fazla standardı ve o standarda uygun fonksiyon grubu vardır. Biz ise yazımızda bu standartlar arasında (bence)  en güçlü olanını yani PCRE (Perl-Compatible Regular Expressions/Perl-Uyumlu Düzenli İfadeler) ‘i  ele alacağız. Ve bu nedenle PHP’nin perl uyumlu düzenli ifade fonksiyonlarını kullanacağız. Daha sonra bunlara uzun uzun değinecek olsak da şimdilik kısa bir özet yapalım.

preg_match_all: İfadedeki tüm uyumlu bölümleri verir. (evrensel arama)
preg_match: İfadedeki uyumlu bölümü verir. (arama)
preg_replace: İfadedeki uyumlu bölümleri verilenlerle değiştirir. (değiştirme)
preg_replace_callback: İfadedeki uyumlu bölümleri değiştirmek üzere verir. (arama ve değiştirme)
preg_split: İfadeyi parçalar.
preg_grep: Dizi içindeki desene uyumlu indeksleri çevirir.
preg_quote: İfadedeki düzenli ifade anahtarlarını etkisizleştirir.



Kullanım Amaçları
 
 Nasıl yazıldığını tam olarak bilmediğimiz bir sözcüğü aratabiliriz.
Örneğin, bir makalede "entrepreneurship" sözcüğünü bulmak istiyorsak, ancak ne şekilde yazıldığından emin değilsek, ilk ve son birkaç karakterini verip aratabiliriz.
 
 Bir metnin içindeki, özel bir forma uyan parçaları bulabiliriz.
Örneğin, düz bir metin içindeki tüm URL’leri (İnternet adreslerini), yalnızca ana yapıyı tarif ederek, teker teker ayıklayabiliriz. (http:// ile başlayan ve arada noktalar içeren sözcükler)
 
 Aldığımız bir metnin, belli bir yapıya uyup uymadığını kontrol edebiliriz.
Örneğin, kullanıcılardan e-posta adresi girmelerini istediğimiz bir web sayfasında, metin kutusuna girilen yazının geçerli bir e-posta adresi olabilecek formatta olup olmadığına bakabiliriz. (@ işareti içerecek, belli karakterlerden oluşacak, ikinci blokta en az bir nokta olacak vs)
 
 Belli formatta aldığımız bir veriyi, istediğimiz başka bir formata çevirebiliriz.
Örneğin, bir XML belgesinden kopyaladığımız veriyi, kendi uygulamamızda kullanmamız için bir PHP dizisi (array) haline getirebiliriz.
 
Söz Dizisi
 
En basit düzenli ifadeler, tek bir karakterden oluşur. Harfler, rakamlar, noktalama işaretleri gibi pek çok karakter, kendisiyle eşleşen düzenli ifadelerdir. Yani, bir metinde a karakterini arıyorsak, girmemiz gereken düzenli ifade, doğal olarak a karakteridir. Ancak, bazı karakterler, düzenli ifadelerin söz dizisinde özel anlamlar ifade eder.
 
Bu özel karakterler, \ . * [ ] ^ $ sembolleridir. Aradığımız karakter, bu özel karakterlerden bir tanesiyse, başına \ karakteri koyarak, özel anlam içermesini engelleyebiliriz. Örneğin, bir metin içinde nokta karakterlerini bulmak istiyorsak, girmemiz gereken düzenli ifade nokta ( .) değil ( \. ) olmalıdır.
 
Düzenli ifadelerin, bazı özel sembollerle bir araya gelmesi sonucu, daha güçlü ve karmaşık düzenli ifadeler elde edilir. Aşağıdaki tablolar, düzenli ifadelerin nasıl elde edildiğini açıklar:
 
 
Aşağıdaki tabloları bir anda anlamak mümkün olmayacaktır. Bu aşamada düzenli ifadeler için PHP’de kullanılan preg_match fonksiyonunun kullanımına bakıp aşağıdaki tabloda verilen örnekleri deneyerek ilerlemek işlerimizi kolaylaştıracaktır. Bu şekilde adım adım düzenli ifadeler konusunu anlamak mümkün olacaktır.
 
Dikkat edilmesi gereken önemli bir nokta, söz dizileri oluşturulurken iki aynı simge arasına yazılmalıdırlar. Örneğin; /Bafra/ yada -Bafra- yada @Bafra@ gibi.
 
 
 
 
Bu içerik, Milli Eğitim Bakanlığı Megep modüllerinden alınmıştır.
 

Facebook'ta Paylaş    
Diğer PHP İçerikleri       Tüm Yazılar        Ana Sayfa


  =>Soru Sorun veya Yorum Yazın...

İsim Giriniz :
  

  =>Yapılan Yorumlar...