A preg_replace_callback függvény

A preg_replace_callback függvény reguláris kifejezéssel keres és cserél callback függvény segítségével. Az első paramétere a reguláris kifejezés, a második a callback függvény, a harmadik pedig a feldolgozandó sztring. A callback függvény a találatok tömbjét kapja meg, és egy csere-sztringet kell visszaadnia.

Szintaxis

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

Példa

Cseréljük ki a sztringben lévő összes számot a négyzetükre:

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

A kód végrehajtásának eredménye:

php'Numbers: 4, 16, 36'

Példa

Alakítsuk át az összes szót nagybetűssé:

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

A kód végrehajtásának eredménye:

php'HELLO WORLD'

Példa

Adjunk zárójelet minden szám köré:

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

A kód végrehajtásának eredménye:

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

Lásd még

  • a preg_replace függvényt,
    amely reguláris kifejezéssel végez cserét
  • a preg_match függvényt,
    amely reguláris kifejezéssel végez keresést