PHP'de Düzenli İfadelerle String Kontrolü
Düzenli ifadelerin olanakları arama ve değiştirmeyle sınırlı değildir.
Ayrıca, bir stringin düzenli ifadeyle eşleşme içerip içermediğini kontrol eden
preg_match fonksiyonu da vardır.
Fonksiyon ilk parametre olarak düzenli ifadeyi,
ikinci parametre olarak ise arama yapılacak stringi alır.
Bu durumda, eğer birden fazla eşleşme olursa -
fonksiyon sadece ilkini bulacak ve çalışmasını sonlandıracaktır.
Bu nedenle fonksiyon ya 1,
ya da 0 döndürür ve
'stringde aranan ifade var mı yok mu' sorusuna cevap vermek için kullanılır.
Bir döndürürse - demektir ki var (kaç kere
- belli değil), sıfır döndürürse - demektir ki yok.
Örnekler üzerinden görelim. Bir string içinde
'a' harflerinin bir veya daha fazla tekrarından oluşan
bir alt string var mı kontrol edelim:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // 1 yazdırır
?>
Şimdi ise stringimizde aranan ifade yok, ve fonksiyon
0 yazdıracak:
<?php
echo preg_match('#a+#', 'eee bbb'); // 0 yazdırır
?>
Bir string içinde ardışık 3 rakam
olup olmadığını belirleyin.
İletilen stringin http ile
başlayıp başlamadığını belirleyin.
İletilen stringin http veya
https ile başlayıp başlamadığını belirleyin.
İletilen stringin txt,
html veya php uzantısıyla
bitip bitmediğini belirleyin.
İletilen stringin jpg veya
jpeg uzantısıyla bitip bitmediğini belirleyin.