Funktionen preg_replace_callback

Funktionen preg_replace_callback utför sökning med reguljärt uttryck och ersättning med användning av en callback-funktion. Den tar det reguljära uttrycket som första parameter, callback-funktionen som andra parameter och strängen som ska bearbetas som tredje parameter. Callback-funktionen tar emot en array med träffar och ska returnera en ersättningssträng.

Syntax

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

Exempel

Låt oss ersätta alla nummer i strängen med deras 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 kodkörning:

php'Numbers: 4, 16, 36'

Exempel

Låt oss omvandla alla ord till versaler:

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

Resultat av kodkörning:

php'HELLO WORLD'

Exempel

Låt oss lägga till parenteser runt varje nummer:

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

Resultat av kodkörning:

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

Se även

  • funktionen preg_replace,
    som utför ersättning med reguljärt uttryck
  • funktionen preg_match,
    som utför sökning med reguljärt uttryck