Funksjonen preg_replace_callback

Funksjonen preg_replace_callback utfører søk med regulært uttrykk og erstatning med bruk av callback-funksjon. Den tar første parameter som regulært uttrykk, andre parameter som callback-funksjon, og tredje parameter som streng for behandling. Callback-funksjonen mottar en matrise med treff og skal returnere en erstatningsstreng.

Syntaks

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

Eksempel

La oss erstatte alle tall i strengen med deres kvadrater:

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

Resultat av kjøring av kode:

php'Numbers: 4, 16, 36'

Eksempel

La oss konvertere alle ord til store bokstaver:

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

Resultat av kjøring av kode:

php'HELLO WORLD'

Eksempel

La oss legge til parenteser rundt hvert tall:

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

Resultat av kjøring av kode:

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

Se også

  • funksjonen preg_replace,
    som utfører erstatning med regulært uttrykk
  • funksjonen preg_match,
    som utfører søk med regulært uttrykk