$str = '2 3 4 5 6';
$res = preg_replace_callback('#(\d+)#', function($match) {
for ($i = 0; $i < count($match); $i++) {
$match[$i] = pow($match[$i], 2);
}
return $match;
}, $str);
echo $res;
Надо чтобы функция возвращала строку?
$str = '2 3 4 5 6';
$res = preg_replace_callback( '#(\d+)#', function($match) {
return pow($match[0], 2);
}, $str
);
echo $res; // 4 9 16 25 36