Funkcija preg_replace_callback
Funkcija preg_replace_callback veic meklēšanu ar regulāro izteiksmi un aizstāšanu, izmantojot callback funkciju. Pirmo parametru pieņem regulāro izteiksmi, otro - callback funkciju, un trešo - virkni apstrādei. Callback funkcija saņem atbilstību masīvu un ir jāatgriež aizstāšanas virkni.
Sintakse
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Piemērs
Aizstāsim visus skaitļus virknē ar to kvadrātiem:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Koda izpildes rezultāts:
'Numbers: 4, 16, 36'
Piemērs
Pārveidosim visus vārdus par lielajiem burtiem:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Koda izpildes rezultāts:
'HELLO WORLD'
Piemērs
Pievienosim iekavas ap katru skaitli:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Koda izpildes rezultāts:
'(1) (2) (3) (4) (5)'
Skatiet arī
-
funkciju
preg_replace,
kas veic aizstāšanu ar regulāro izteiksmi -
funkciju
preg_match,
kas veic meklēšanu ar regulāro izteiksmi