Funkcja preg_replace_callback
Funkcja preg_replace_callback wykonuje wyszukiwanie za pomocą wyrażenia regularnego i zamianę z wykorzystaniem funkcji callback. Pierwszy parametr przyjmuje wyrażenie regularne, drugi - funkcję callback, a trzeci - łańcuch znaków do przetworzenia. Funkcja callback otrzymuje tablicę dopasowań i powinna zwracać łańcuch zastępujący.
Składnia
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Przykład
Zamieńmy wszystkie liczby w łańcuchu na ich kwadraty:
<?php
$str = 'Liczby: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Wynik wykonania kodu:
'Liczby: 4, 16, 36'
Przykład
Przekształćmy wszystkie słowa na wielkie litery:
<?php
$str = 'witaj świecie';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Wynik wykonania kodu:
'WITAJ ŚWIECIE'
Przykład
Dodajmy nawiasy wokół każdej liczby:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Wynik wykonania kodu:
'(1) (2) (3) (4) (5)'
Zobacz też
-
funkcję
preg_replace,
która wykonuje zamianę za pomocą wyrażenia regularnego -
funkcję
preg_match,
która wykonuje wyszukiwanie za pomocą wyrażenia regularnego