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