Функция 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 = 'салом дунё';
  $res = preg_replace_callback('/\b\w+\b/', function($matches) {
    return strtoupper($matches[0]);
  }, $str);
  echo $res;
?>

Коднинг ишлаш натижаси:

php'САЛОМ ДУНЁ'

Мисол

Ҳар бир сон атрофига қавс қўямиз:

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 функцияси,
    регуляр ифода асосида излашни бажаради