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 ֆունկցիան,
    որը կատարում է որոնում կանոնավոր արտահայտությամբ