Fungsi preg_replace_callback_array

Fungsi preg_replace_callback_array memungkinkan untuk melakukan banyak penggantian dalam string dengan menggunakan fungsi callback yang berbeda untuk setiap ekspresi reguler. Parameter pertama fungsi menerima array asosiatif, di mana kunci adalah ekspresi reguler, dan nilai adalah fungsi callback. Parameter kedua adalah string yang akan diproses.

Sintaks

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

Contoh

Ganti angka dengan kuadratnya, dan huruf dengan huruf kapital:

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;
?>

Hasil eksekusi kode:

php'A1B4C9'

Contoh

Ubah format tanggal dari satu format ke format lain dan tebalkan angka:

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;
?>

Hasil eksekusi kode:

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

Lihat juga