Функција preg_replace_callback

Функцијата preg_replace_callback извршува пребарување со регуларен израз и замена со користење на callback-функција. Како прв параметар прифаќа регуларен израз, како втор - callback-функција, а како трет - стринг за обработка. Callback-функцијата добива низа од совпаѓања и мора да враќа стринг за замена.

Синтакса

phppreg_replace_callback(pattern, callback, subject, [limit], [count]);

Пример

Да ги замениме сите броеви во стрингот со нивните квадрати:

php<?php
  $str = 'Броеви: 2, 4, 6';
  $res = preg_replace_callback('/\d+/', function($matches) {
    return $matches[0] * $matches[0];
  }, $str);
  echo $res;
?>

Резултат од извршување на кодот:

php'Броеви: 4, 16, 36'

Пример

Да ги трансформираме сите зборови во горен регистар:

php<?php
  $str = 'hello world';
  $res = preg_replace_callback('/\b\w+\b/', function($matches) {
    return strtoupper($matches[0]);
  }, $str);
  echo $res;
?>

Резултат од извршување на кодот:

php'HELLO WORLD'

Пример

Да додадеме загради околу секој број:

php<?php
  $str = '1 2 3 4 5';
  $res = preg_replace_callback('/\d+/', function($matches) {
    return '('.$matches[0].')';
  }, $str);
  echo $res;
?>

Резултат од извршување на кодот:

php'(1) (2) (3) (4) (5)'

Погледнете ги исто така

  • функцијата preg_replace,
    која извршува замена со регуларен израз
  • функцијата preg_match,
    која извршува пребарување со регуларен израз