Fungsi preg_replace_callback_array
Fungsi preg_replace_callback_array membolehkan anda melakukan banyak penggantian dalam rentetan dengan menggunakan fungsi callback yang berbeza untuk setiap ungkapan biasa. Parameter pertama fungsi menerima array bersekutu, di mana kunci adalah ungkapan biasa, dan nilai adalah fungsi callback. Parameter kedua menghantar rentetan untuk diproses.
Sintaks
preg_replace_callback_array(array $patterns_and_callbacks, string $subject): string
Contoh
Mari gantikan nombor dengan kuasa duanya, dan huruf dengan huruf besar:
<?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;
?>
Keputusan pelaksanaan kod:
'A1B4C9'
Contoh
Mari tukar tarikh dari satu format ke format lain dan sorot nombor dengan tebal:
<?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;
?>
Keputusan pelaksanaan kod:
'Date: <b>15</b>.<b>05</b>.<b>2023</b>'
Lihat juga
-
fungsi
preg_replace_callback,
yang melaksanakan penggantian dengan satu fungsi callback -
fungsi
preg_replace,
yang melaksanakan penggantian menggunakan ungkapan biasa