Functie preg_replace_callback

De functie preg_replace_callback voert een zoekactie uit met een reguliere expressie en vervanging met behulp van een callback-functie. De eerste parameter accepteert een reguliere expressie, de tweede - een callback-functie, en de derde - een te verwerken string. De callback-functie ontvangt een array met matches en moet een vervangende string teruggeven.

Syntaxis

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

Voorbeeld

Laten we alle getallen in de string vervangen door hun kwadraten:

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

Resultaat van de code-uitvoering:

php'Numbers: 4, 16, 36'

Voorbeeld

Laten we alle woorden omzetten naar hoofdletters:

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

Resultaat van de code-uitvoering:

php'HELLO WORLD'

Voorbeeld

Laten we haakjes rond elk getal toevoegen:

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

Resultaat van de code-uitvoering:

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

Zie ook

  • de functie preg_replace,
    die vervanging uitvoert met een reguliere expressie
  • de functie preg_match,
    die zoekt met een reguliere expressie