PHP Normal İfade / Regex: preg_match () - preg_replace ()

İçindekiler:

Anonim

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