(PHP 5 >= 5.3.0, PHP 7, PHP 8)
preg_filter — Bir düzenli ifade arama ve değiştirmesi yapar
$şablon
,$yenisi
,$konu
,$sınır
= -1,&$sayı
= null
preg_filter() sadece eşleşen (değiştirilmiş olması olası) konuları döndürmesi dışında preg_replace() işlevi gibidir. Bu işlevin nasıl çalıştığıyla ilgili ayrıntılı bilgi için preg_replace() sayfasına bakılabilir
Bağımsız değişkenler preg_replace() belgesinde açıklanmıştır.
konu
bağımsız değişkeni bir dizi ise bir dizi döndürür aksi takdirde bir dizge döner.
konu
bağımsız değişkeni bir dizi ise ve hiç eşleşme olmazsa veya bir hata oluşmuşsa boş bir dizi döner; aksi takdirde null
döner.
Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING
çıktılanır.
Örnek 1 - preg_filter() ile preg_replace() işlevini karşılaştırma örneği
<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$pattern = array('/\d/', '/[a-z]/', '/[1a]/');
$replace = array('A:$0', 'B:$0', 'C:$0');
echo "preg_filter işlevinin sonucu:\n";
print_r(preg_filter($pattern, $replace, $subject));
echo "preg_replace işlevinin sonucu:\n";
print_r(preg_replace($pattern, $replace, $subject));
?>
Yukarıdaki örneğin çıktısı:
preg_filter işlevinin sonucu: Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4 ) preg_replace işlevinin sonucu: Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [5] => A [6] => B [7] => A:4 )