PHP Düzenli İfadeler (RegEx)
İçerikleri analiz etmek ve metni şekillendirmek için bu güçlü araca bir göz atın. İlgili örnek fonksiyonlarla hızla öğrenmeye başlayın! PHP Düzenli İfadeler (RegEx) ile ilgili tüm detaylar bu konumuzda!
PHP Düzenli İfade Nedir?
Düzenli ifade, bir arama deseni oluşturan bir karakter dizisidir. Bir metinde veri ararken, ne aradığınızı tanımlamak için bu arama desenini kullanabilirsiniz.
Düzenli ifade tek bir karakter olabileceği gibi daha karmaşık bir kalıp da olabilir.
Düzenli ifadeler, her tür metin arama ve metin değiştirme işlemini gerçekleştirmek için kullanılabilir.
Sözdizimi
PHP'de düzenli ifadeler, sınırlayıcılar, bir kalıp ve isteğe bağlı değiştiricilerden oluşan dizgelerdir.
$exp = "/onurkul/i";
Yukarıdaki örnekte, / sınırlayıcıdır, onurkul aranmakta olan kalıptır ve i aramayı büyük/küçük harfe duyarsız hale getiren bir değiştiricidir.
Sınırlayıcı, harf, sayı, ters eğik çizgi veya boşluk olmayan herhangi bir karakter olabilir. En yaygın sınırlayıcı ileri eğik çizgidir (/), ancak deseniniz ileri eğik çizgiler içerdiğinde # veya ~ gibi diğer sınırlayıcıları seçmek uygundur.
PHP Düzenli İfade Fonksiyonları
PHP, düzenli ifadeleri kullanmanıza olanak tanıyan çeşitli fonksiyonlar sağlar. preg_match(), preg_match_all() ve preg_replace() fonksiyonları en sık kullanılanlardan bazılarıdır:
Fonksiyon | Açıklama |
---|---|
preg_match() | Desenin dizinde bulunup bulunmadığını kontrol eder ve bulunursa 1, bulunmazsa 0 döndürür. |
preg_match_all() | Desenin dizinde kaç kez bulunduğunu sayar ve sonucu döndürür (0 da olabilir). |
preg_replace() | Eşleşen desenleri başka bir dize ile değiştirilmiş bir dize döndürür. |
PHP preg_match() Fonksiyonu Kullanımı
preg_match() fonksiyonu size bir dizenin bir kalıpla eşleşip eşleşmediğini gösterecektir.
Aşağıdaki dizede "onurkul" için büyük/küçük harfe duyarlı olmayan bir arama yapmak için düzenli ifade kullanılır.
<?php
$str = "onurkul.com.tr adresini ziyaret et";
$pattern = "/onurkul/i";
echo preg_match($pattern, $str); // Çıktı
?>
PHP preg_match_all() Fonksiyonu Kullanımı
preg_match_all() fonksiyonu, bir dizede bir desen için kaç eşleşme bulunduğunu size gösterecektir.
Bir dizede "onur" sözcüğünün geçtiği yerlerin sayısını büyük/küçük harfe duyarlı olmadan saymak için düzenli ifade kullanılır.
$str = "onurkul.com.tr adresinde birbirinden farklı konular hakkında bilgi sahibi olabilirsiniz.";
$pattern = "/kul/i";
echo preg_match_all($pattern, $str); // Çıktı
?>
PHP preg_replace() Fonksiyonu Kullanımı
preg_replace() fonksiyonu, bir dizedeki desenin tüm eşleşmelerini başka bir dizeyle değiştirir.
Bir dizede Microsoft'u Onur KUL ile değiştirmek için büyük/küçük harfe duyarlı olmayan bir düzenli ifade kullanılır.
<?php
$str = "Microsoft Sitesini Ziyaret Et!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "Onur KUL", $str); // Çıktı "Onur KUL Sitesini Ziyaret Et!"
?>
PHP Düzenli İfade Değiştiricileri
Değiştiriciler bir aramanın nasıl gerçekleştirileceğini değiştirebilir.
Değiştirici | Açıklama |
---|---|
i | Büyük-küçük harf farkını önemsemeden arama yapar. |
m | Birden fazla satırdan oluşan metinlerde, başlangıç veya sonu arayan desenler için çok satırlı arama yapar. |
u | UTF-8 kodlu desenlerin doğru eşleşmelerini etkinleştirir. |
PHP Düzenli İfade Kalıpları
Parantezler bir karakter aralığını bulmak için kullanılır.
İfade | Açıklama |
---|---|
[abc] |
Köşeli parantezler arasındaki seçeneklerden bir karakter bulun. |
[^abc] |
Köşeli parantezler arasındaki karakterlerin dışındaki herhangi bir karakteri bulun. |
[0-9] |
0 ile 9 arasındaki herhangi bir karakteri bulun. |
PHP Meta Karakterler
Meta karakterler özel bir anlamı olan karakterlerdir.
Meta Karakter | Açıklama |
---|---|
` | ` |
. |
Herhangi bir tek karakteri bulun. |
^ |
Dizinin başlangıcındaki eşleşmeyi bulun, örneğin ^Merhaba . |
$ |
Dizinin sonundaki eşleşmeyi bulun, örneğin Dünya$ . |
\d |
Bir rakamı bulun. |
\s |
Bir boşluk karakterini bulun. |
\b |
Kelimenin başlangıcındaki (\bWORD ) veya sonundaki (WORD\b ) eşleşmeyi bulun. |
\uxxxx |
Belirtilen onaltılık sayı (xxxx ) ile tanımlanan Unicode karakterini bulun. |
PHP Miktar Belirteçleri
Miktar | Açıklama |
---|---|
n+ |
En az bir tane 'n' içeren herhangi bir dizeyi eşleştirir. |
n* |
Sıfır veya daha fazla 'n' içeren herhangi bir dizeyi eşleştirir. |
n? |
Sıfır veya bir tane 'n' içeren herhangi bir dizeyi eşleştirir. |
n{x} |
X adet 'n' içeren bir dizeyi eşleştirir. |
n{x,y} |
En az X, en fazla Y adet 'n' içeren bir dizeyi eşleştirir. |
n{x,} |
En az X adet 'n' içeren bir dizeyi eşleştirir. |
Not: İfadenizin özel karakterlerden birini araması gerekiyorsa, bunlardan kaçmak için ters eğik çizgi ( \ ) kullanabilirsiniz. Örneğin, bir veya daha fazla soru işareti aramak için aşağıdaki ifadeyi kullanabilirsiniz: $pattern = '/\?+/';
PHP Gruplandırma
Miktar belirteçlerini tüm kalıplara uygulamak için parantezleri ( ) kullanabilirsiniz. Ayrıca eşleşme olarak kullanılacak kalıp parçalarını seçmek için de kullanılabilirler.
"Muz" sözcüğünü aramak için gruplamayı kullanarak m ve ardından iki uz örneği arayın:
<?php
$str = "Elma ve Muz.";
$pattern = "/m(uz){2}/i";
echo preg_match($pattern, $str);
?>
Tepkiniz Nedir?