Fonksiyon preg_replace_callback_array
preg_replace_callback_array fonksiyonu, bir dizideki farklı düzenli ifadeler için farklı geri çağırma fonksiyonları kullanarak çoklu değişiklikler yapmayı sağlar. Fonksiyon ilk parametre olarak, anahtarların düzenli ifadeler ve değerlerin geri çağırma fonksiyonları olduğu bir ilişkili dizi alır. İkinci parametre olarak işlenecek dize iletilir.
Sözdizimi
preg_replace_callback_array(array $patterns_and_callbacks, string $subject): string
Örnek
Sayıları kareleriyle, harfleri ise büyük harflerle değiştirelim:
<?php
$str = 'a1b2c3';
$res = preg_replace_callback_array([
'/\d+/' => function($matches) {
return $matches[0] * $matches[0];
},
'/[a-z]/' => function($matches) {
return strtoupper($matches[0]);
}
], $str);
echo $res;
?>
Kodun çalıştırılmasının sonucu:
'A1B4C9'
Örnek
Tarihleri bir biçimden diğerine dönüştürelim ve sayıları kalın olarak vurgulayalım:
<?php
$text = 'Date: 2023-05-15';
$res = preg_replace_callback_array([
'/(\d{4})-(\d{2})-(\d{2})/' => function($matches) {
return $matches[3].'.'.$matches[2].'.'.$matches[1];
},
'/\d+/' => function($matches) {
return '<b>'.$matches[0].'</b>';
}
], $text);
echo $res;
?>
Kodun çalıştırılmasının sonucu:
'Date: <b>15</b>.<b>05</b>.<b>2023</b>'
Ayrıca Bakınız
-
tek bir geri çağırma fonksiyonu ile değiştirme yapan
preg_replace_callback
fonksiyonu -
düzenli ifadeyle değiştirme yapan
preg_replace
fonksiyonu