PHP'de Normal ifade nedir?
Normal ifade olarak da bilinen PHP Normal İfadesi , tek bir ifadede gerçekleştirilebilen güçlü kalıp eşleştirme algoritmasıdır. Normal ifadeler, karmaşık ifadeler oluşturmak için (+, -, ^) gibi aritmetik operatörler kullanır. E-posta adreslerini, IP adreslerini vb. Doğrulama gibi görevleri gerçekleştirmenize yardımcı olabilirler.
Neden normal ifadeler kullanmalısınız?
- PHP Normal ifadeler, tek bir işlevi çağırarak dize verilerindeki kalıpları tanımlamayı basitleştirir. Bu, kodlama zamanından tasarruf etmemizi sağlar.
- E-posta adresi, etki alanı adları, telefon numaraları, IP adresleri gibi kullanıcı girişlerini doğrularken,
- Arama sonuçlarında anahtar kelimeleri vurgulama
- Özel bir HTML şablonu oluştururken. PHP'deki Regex, şablon etiketlerini tanımlamak ve bunları gerçek verilerle değiştirmek için kullanılabilir.
Bu PHP Regex eğitiminde şunları öğreneceksiniz:
- PHP'de Yerleşik Normal İfade İşlevleri
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Normal İfade Metakarakterleri
- Deseni açıklamak
PHP'de Yerleşik Normal İfade İşlevleri
PHP, bu PHP Normal İfadeler eğitiminde öğreneceğimiz normal işlevlerle çalışmamızı sağlayan yerleşik işlevlere sahiptir. PHP'de yaygın olarak kullanılan düzenli ifade işlevlerine bakalım.
- PHP'de preg_match () - bu işlev PHP'de bir dizge üzerinde kalıp eşlemesi yapmak için kullanılır. Bir eşleşme bulunursa doğru, eşleşme bulunmazsa yanlış döndürür.
- PHP'de preg_split () - bu işlev bir dizge üzerinde bir kalıp eşleşmesi gerçekleştirmek ve ardından sonuçları sayısal bir diziye bölmek için kullanılır
- PHP'de preg_replace () - bu işlev bir dizge üzerinde örüntü eşleşmesi gerçekleştirmek ve ardından eşleşmeyi belirtilen metinle değiştirmek için kullanılır.
Aşağıda, PHP preg_match (), PHP preg_split () veya PHP preg_replace () gibi bir normal ifade işlevinin sözdizimi verilmiştir.
İŞTE,
- "işlev_adı (…)" ya PHP preg_match (), PHP preg_split () ya da PHP preg_replace () 'dir.
- "/… /" Eğik çizgi, PHP normal ifade test işlevimizin başlangıcını ve sonunu gösterir
- "'/ kalıp /'" eşleştirmemiz gereken kalıptır
- "konu", eşleşecek metin dizesidir
Şimdi yukarıdaki PHP regex işlevlerini uygulayan pratik örneklere bakalım.
PHP Preg_match ()
İlk örnek, belirli bir URL'deki guru kelimesi için basit bir kalıp eşleşmesi gerçekleştirmek için PHP işlevinde preg_match () kullanır.
Aşağıdaki kod, yukarıdaki örnek için preg_match () tester işlevi için uygulamayı gösterir.
Http: //localhost/phptuts/preg_match_simple.php URL'sine göz atın
"Preg_match ('/ guru /', $ my_url)" çıktımızdan sorumlu kod parçasını BURADA inceleyelim,
- "preg_match (…)" PHP normal ifade işlevidir
- "'/ guru /'" eşleştirilecek normal ifade kalıbıdır
- "$ my_url", eşleşecek metni içeren değişkendir.
Aşağıdaki şema yukarıdaki noktaları özetlemektedir
PHP Preg_split ()
Şimdi PHP işlevinde preg_split () kullanan başka bir örneğe bakalım.
Bir dizge deyimi alıp onu bir dizi halinde patlatacağız; eşleştirilecek desen tek bir boşluktur.
Bu örnekte kullanılacak metin dizesi "Normal İfadeleri Seviyorum" dur.
Aşağıdaki kod, yukarıdaki örneğin uygulanmasını göstermektedir.
Http: //localhost/phptuts/preg_split.php URL'sine göz atın
PHP Preg_replace ()
Şimdi bir kalıp eşleşmesi gerçekleştiren ve sonra kalıbı başka bir şeyle değiştiren PHP işlevindeki preg_replace () işlevine bakalım.
Aşağıdaki kod, bir dizede guru kelimesini arar.
Guru kelimesini, arka plan rengini vurgulayan css koduyla çevrili kelime guru ile değiştirir.
Preg_replace.php dosyasını kaydettiğinizi varsayarsak, tarayıcı http: //localhost/phptuts/preg_replace.php URL'sine tarayınız.
Normal İfade Metakarakterleri
Yukarıdaki örnekler çok basit desenler kullandı; meta karakterler, bir e-posta adresinin geçerliliğini test etmek gibi daha karmaşık kalıp eşleşmeleri yapmamıza olanak tanır. Şimdi yaygın olarak kullanılan meta karakterlere bakalım.
Metakarakter | Açıklama | Misal |
---|---|---|
. | Yeni bir satır dışında herhangi bir tek karakterle eşleşir | /./ tek bir karaktere sahip herhangi bir şeyle eşleşir |
^ | Başlangıcıyla veya dizeyle eşleşir / karakterleri hariç tutar | / PH /, PH ile başlayan herhangi bir dizeyle eşleşir |
$ | Dizenin sonundaki desenle eşleşir | / com $ /; guru99.com, yahoo.com vb. ile eşleşir. |
* | Herhangi bir sıfır (0) veya daha fazla karakterle eşleşir | / com * / bilgisayar, iletişim vb. ile eşleşir. |
+ | Önceki karakterlerin en az bir kez görünmesini gerektirir | / yah + oo / yahoo ile eşleşir |
\ | Meta karakterlerden kaçmak için kullanılır | /yahoo+\.com/ noktayı gerçek bir değer olarak ele alır |
[…] | Karakter sınıfı | / [abc] /, abc ile eşleşir |
az | Küçük harflerle eşleşir | / az / havalı, mutlu vb. |
AZ | Büyük harflerle eşleşir | / AZ /, NE, NASIL, NEDEN vb. İle eşleşir. |
0-9 | 0 ile 9 arasındaki herhangi bir sayıyla eşleşir | / 0-4 / 0,1,2,3,4 ile eşleşir |
Yukarıdaki liste yalnızca normal ifadelerde en sık kullanılan meta karakterleri verir.
Şimdi bir e-posta adresinin geçerliliğini kontrol eden oldukça karmaşık bir örneğe bakalım.
"[/ Александ[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] modelini açıklamak "
İŞTE,
- "'/… /'" Normal ifadeyi başlatır ve bitirir
- "[a-zA-Z0-9 ._-]", küçük veya büyük harflerle, 0 ile 9 arasındaki sayılarla ve noktalar, alt çizgiler veya tirelerle eşleşir.
- "+ @ [a-zA-Z0-9-]", @ sembolüyle ve ardından küçük veya büyük harflerle, 0 ile 9 arasındaki sayılarla veya tirelerle eşleşir.
- "+ \. [a-zA-Z.] {2,5} $ /" ters eğik çizgiyi kullanarak noktadan kaçar ve ardından dizenin sonunda karakter uzunluğu 2 ile 5 arasında olan küçük veya büyük harfleri eşleştirir.
Http: //localhost/phptuts/preg_match.php URL'sine göz atın
Yukarıdaki örnek dökümünden de görebileceğiniz gibi, meta karakterler, eşleştirme modelleri söz konusu olduğunda çok güçlüdür.
Özet
- PHP'de Normal İfade veya Regex bir kalıp eşleştirme algoritmasıdır
- Normal ifadeler, doğrulama kontrolleri gerçekleştirirken, etiketleri tanıyan HTML şablon sistemleri oluştururken çok kullanışlıdır.
- PHP, düzenli ifadeleri destekleyen PHP preg_match (), PHP preg_split () ve PHP preg_replace () gibi yerleşik işlevlere sahiptir.
- Metakarakterler karmaşık desenler oluşturmamıza izin verir