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 функциясын,
    ал регулярдуу туюнтма боюнча издөөнү ишке ашырат