Ce face mb_ereg_replace_callback
Funcționează ca preg_replace_callback: pentru fiecare potrivire este apelată funcția ta, care primește tabloul potrivirii ($m[0], $m[1]…) și returnează textul pus în loc. Șablonul se scrie fără delimitatori.
Parametri
| Parametru | Descriere |
|---|---|
$pattern |
Expresia regulată, fără delimitatori. |
$callback |
Funcția care primește potrivirea și returnează textul nou. |
$string |
Textul în care se face înlocuirea. |
$options |
Opțional. Opțiuni pentru acest apel. |
Ce returnează
Textul nou, sau false/null la eroare.
Exemple
Exemplul 1: Cantități dublate
<?php
echo mb_ereg_replace_callback('(\d+) (\w+)', fn($m) => ($m[1] * 2) . " " . $m[2], "3 mere, 5 pere și 2 gutui");
Rezultat
6 mere, 10 pere și 4 gutui
Exemplul 2: Primul cuvânt din fiecare propoziție cu majusculă
<?php
$text = "ștefan a venit. țara e frumoasă. învățăm.";
echo mb_ereg_replace_callback('(^|\. )(\w)', fn($m) => $m[1] . mb_strtoupper($m[2]), $text);
Rezultat
Ștefan a venit. Țara e frumoasă. Învățăm.
Greșeli frecvente
- Funcția nu returnează un text (uiți
returnla o funcție normală) și potrivirile dispar.
Comenzi înrudite
preg_replace_callback: Înlocuiește potrivirile unei expresii regulate cu rezultatul unei funcții scrise de tine.mb_ereg_replace / mb_eregi_replace: Înlocuiește potrivirile unei expresii regulate multibyte cu alt text.