PREG_FILTER İş Bloku

PREG_FILTER iş bloğu düzenli ifadelerle arar ve değiştirir.

Not: Bu fonksiyon Binary-Safe'dir. Bu, UTF8 karakterlerinin doğrudan işlenemeyeceği anlamına gelir.

PREG_FILTER iş bloğunun yalnızca eşleşmelerde (olası olarak dönüştürülmüş) dizeyi döndürdüğü bakımından PREG_REPLACE iş bloğu ile aynıdır.

PATTERN Girişi

Aranacak ifade dizesi. Bazı PCRE değiştiricileri de mevcuttur.

REPLACEMENT Girişi

Değiştirmek için kullanılan dize. Bu, \n veya $n şeklindeki referanslar içerebilir, sonuncusu tercih edilir. Her bir bu referans, n'inci parantez içi arama deseni tarafından yakalanan metinle değiştirilir. n değeri 0 ile 99 arasında olabilir. \0 veya $0, tam arama deseniyle eşleşen metine atıfta bulunur. Yakalanan alt-arama deseninin numarasını elde etmek için açılış parantezleri, sol'dan sağa doğru 1'den başlayarak sayılır. Değiştirmede ters slayş kullanmak için çiftleştirilmelidir "\\".

Bir değiştirimle çalışıyorsunuz ve bir geri referansın ardından doğrudan başka bir sayı geliyor (yani, arama deseniyle eşleşmenin hemen ardından bir sayı gelmelidir), \1 yazımını geri referanslamak için kullanamazsınız. Örneğin, \11, fonksiyonu karıştıracaktır çünkü bilmez, \1 geri referanslamasını ve ardından sayıyı 1 istiyorsunuz mu yoksa sadece geri referansı \11 istiyorsunuz mu. Bu durumda çözüm, ${1}1'i kullanmaktır. Böylece bir izole geri referans $1 oluşturulur ve 1 harf sembolü olarak kalır.

Eğer eski e değiştiriciyi kullanıyorsanız, bu fonksiyon, dizeye geri referanslamalarla değiştirilecek dizelerde bazı karakterleri (yani ', ", \ ve NULL) maskeler. Bu, geri referanslamalar kullanıldığında basit veya çift tırnak içeren dizeye ait syntax hataları oluşmaması için yapılır. Dize syntaxını biliyorsunuzdan emin olun ki değerlendirilen dizenin nasıl göründüğünü tam olarak bilelim.

SUBJECT Girişi

Giriş, aranacak dizeyi tanımlar.

LIMIT Girişi

Her subject için her arama deseninin en fazla kaç kez değiştirilebileceğini belirtir. Varsayılan değer: -1 veya NULL (sınır yok).

Q Çıktısı

Eğer eşleşmeler (olası olarak dönüştürülmüş) bulunursa, yeni dize Q döndürülür, aksi takdirde SUBJECT değiştirilmeden döndürülür veya NULL, bir hata oluştuysa.

COUNT Çıktısı

Çıktı, yapılan değiştirimlerin sayısını döndürür.