Login

Çalışmalarım

PHP ve Regular Expression (Düzenli İfade)

PHP ve Regular Expression (Düzenli İfade)

Bu yazıda Regular Expression yani Düzenli İfade kavramının PHP'deki kullanımını göreceksiniz. Ve bu olay uygulamalı bir şekilde anlatılacak

Regular Expression yani düzenli ifadeler hakkında yeniyseniz ve bilgi edinmek istiyorsanız buraya tıklayabilirsiniz. İlk önce arama işlemini göstereyim ve daha sonra değiştirme...

Regular Expression Arama

Bu başlık altında arama işlemi yapılacak. Aradığımız düzenli ifade kalıbını, arama işlemi yaptığımız metinde geçiyor mu? Bunu öğreneceğiz

Bunun için aşağıdaki PHP metodundan yararlanacağız: 

preg_match(arama kalıbı, içinde arama yapılacak metin, sonuclar)

bu durumda kod aşağıdaki gibi olacaktır

<?php
if (preg_match("/haba/", "Merhaba Dunya!", $bulunanlar)) {
  echo "Arama bulundu <br />";
  echo $bulunanlar[0];
}
?>

Yukarıdaki PHP kodunda haba aranmakta, ve sonuçlar $bulunanlar dizisine atanmakta. preg_match eğer birşey bulursa true değeri döndürmekte ve if işlemi içindekiler gerçekleşmekte. $bulunanlar dizisinin ilk dizesi bulunan değeri gösterir.


Regular Expression Değiştirme

Bu kısımda arama ve değiştirme işlemi yapılacak. Aradığımız düzenli ifade kalıbını istediğimiz bir metinle değiştireceğiz. Yani istediğimiz metni, aramada bulunan kalıbın yerine koyacağız.

Bunun için aşağıdaki PHP metodundan yararlanacağız: 

preg_replace(arama kalıbı, değişim metni, içinde arama yapılacak metin)

bu durumda kod aşağıdaki gibi olacaktır

<?php
echo preg_replace("/(\d+)-(\d+)-(\d+)/", "$2/$3/$1", "2012-01-25");
?>

Yukarıdaki PHP kodunda 2012-01-25 metinindeki sayılar yıl - ay - gün şeklinde aranmakta ve ay / gün / yıl şeklinde değiştirilmektedir.

Metodun ikinci parametresindeki $1, $3 gibi tanımlar arama sonuçlarını ifade etmektedir. Yani $1 tanımı yerine 1. (ilk) kalıpta bulunan değer konulmaktadır. $3 tanımı yerine de üçüncü kalıpta yani son bulunan değer konulmaktadır.