Функсияи 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,
    ки ҷустуҷӯро бо истифода аз ифодаи муқаррарӣ иҷро мекунад