(PHP 5 >= 5.3.0, PHP 7)
preg_filter — Bir düzenli ifade arama ve değiştirmesi yapar
$şablon
, mixed $yenisi
, mixed $konu
[, int $sınır = -1
[, int &$sayı
]] )preg_filter() sadece eşleşenleri döndürmesi dışında preg_replace() işlevi gibidir. Bu işlevin nasıl çalıştığıyla ilgili ayrıntılar için preg_replace() belgesini okuyun.
şablon
yenisi
konu
sınır
sayı
konu değiştirgesi bir dizi ise bir dizi döndürür aksi takdirde bir dizge döner.
Eşleşmeler bulunduğu takdirde yeni konu döner, aksi
takdirde bir hata oluşmamışsa konu değiştirilmeden
döndürülür; bir hata oluşmuşsa NULL döner.
Ö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
)