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

phppreg_replace_callback_array(array $patterns_and_callbacks, string $subject): string

Örnek

Sayıları kareleriyle, harfleri ise büyük harflerle değiştirelim:

php<?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:

php'A1B4C9'

Örnek

Tarihleri bir biçimden diğerine dönüştürelim ve sayıları kalın olarak vurgulayalım:

php<?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:

php'Date: <b>15</b>.<b>05</b>.<b>2023</b>'

Ayrıca Bakınız