Funkcija preg_replace_callback

Funkcija preg_replace_callback izvaja iskanje z regularnim izrazom in zamenjavo z uporabo callback funkcije. Prvi parameter sprejme regularni izraz, drugi - callback funkcijo, tretji pa niz za obdelavo. Callback funkcija prejme tabelo ujemanj in mora vrniti nadomestni niz.

Sintaksa

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

Primer

Zamenjajmo vse številke v nizu z njihovimi kvadrati:

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

Rezultat izvajanja kode:

php'Številke: 4, 16, 36'

Primer

Pretvorimo vse besede v velike črke:

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

Rezultat izvajanja kode:

php'ZDRAVO SVET'

Primer

Dodajmo oklepaje okoli vsake številke:

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

Rezultat izvajanja kode:

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

Glejte tudi

  • funkcijo preg_replace,
    ki izvaja zamenjavo z regularnim izrazom
  • funkcijo preg_match,
    ki izvaja iskanje z regularnim izrazom