Funkcija preg_replace_callback

Funkcija preg_replace_callback veic meklēšanu ar regulāro izteiksmi un aizstāšanu, izmantojot callback funkciju. Pirmo parametru pieņem regulāro izteiksmi, otro - callback funkciju, un trešo - virkni apstrādei. Callback funkcija saņem atbilstību masīvu un ir jāatgriež aizstāšanas virkni.

Sintakse

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

Piemērs

Aizstāsim visus skaitļus virknē ar to kvadrātiem:

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

Koda izpildes rezultāts:

php'Numbers: 4, 16, 36'

Piemērs

Pārveidosim visus vārdus par lielajiem burtiem:

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

Koda izpildes rezultāts:

php'HELLO WORLD'

Piemērs

Pievienosim iekavas ap katru skaitli:

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

Koda izpildes rezultāts:

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

Skatiet arī

  • funkciju preg_replace,
    kas veic aizstāšanu ar regulāro izteiksmi
  • funkciju preg_match,
    kas veic meklēšanu ar regulāro izteiksmi