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
preg_replace_callback_array(array $patterns_and_callbacks, string $subject): string
Contoh
Ganti angka dengan kuadratnya, dan huruf dengan huruf kapital:
<?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:
'A1B4C9'
Contoh
Ubah format tanggal dari satu format ke format lain dan tebalkan angka:
<?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:
'Date: <b>15</b>.<b>05</b>.<b>2023</b>'
Lihat juga
-
fungsi
preg_replace_callback,
yang melakukan penggantian dengan satu fungsi callback -
fungsi
preg_replace,
yang melakukan penggantian dengan ekspresi reguler