АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
204 of 410 menu

Функцыя preg_replace_callback

Функцыя preg_replace_callback выконвае пошук па рэгулярным выразе і замену з выкарыстаннем зваротнай функцыі. Першым параметрам прымае рэгулярны выраз, другім - зваротную функцыю, а трэцім - радок для апрацоўкі. Зваротная функцыя атрымлівае масіў супадзенняў і павінна вяртаць радок замены.

Сінтаксіс

preg_replace_callback(pattern, callback, subject, [limit], [count]);

Прыклад

Замянім усе лікі ў радку на іх квадраты:

<?php $str = 'Numbers: 2, 4, 6'; $res = preg_replace_callback('/\d+/', function($matches) { return $matches[0] * $matches[0]; }, $str); echo $res; ?>

Вынік выканання кода:

'Numbers: 4, 16, 36'

Прыклад

Ператворым усе словы ў верхні рэгістр:

<?php $str = 'hello world'; $res = preg_replace_callback('/\b\w+\b/', function($matches) { return strtoupper($matches[0]); }, $str); echo $res; ?>

Вынік выканання кода:

'HELLO WORLD'

Прыклад

Дадамо дужкі вакол кожнага ліку:

<?php $str = '1 2 3 4 5'; $res = preg_replace_callback('/\d+/', function($matches) { return '('.$matches[0].')'; }, $str); echo $res; ?>

Вынік выканання кода:

'(1) (2) (3) (4) (5)'

Глядзіце таксама

  • функцыю preg_replace,
    якая выконвае замену па рэгулярным выразе
  • функцыю preg_match,
    якая выконвае пошук па рэгулярным выразе
byenru