Ce face substr_replace
Spre deosebire de str_replace, care caută un text, substr_replace înlocuiește ce se află la o anumită poziție. Pozițiile încep de la 0, iar valorile negative se numără de la final.
Cu $length = 0 nu se șterge nimic, deci textul nou este doar inserat. Fără $length, se înlocuiește tot până la final.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul original (sau un tablou de texte). |
$replace |
Textul pus în loc. |
$offset |
Poziția de la care începe înlocuirea. |
$length |
Opțional. Câte caractere se înlocuiesc. 0 înseamnă inserare. |
Ce returnează
Textul nou (sau tabloul de texte noi).
Exemple
Exemplul 1: Ascunderea unui număr de card
<?php
$card = "4111222233334444";
echo substr_replace($card, str_repeat("*", 12), 0, -4);
Rezultat
************4444
Exemplul 2: Inserare și înlocuire până la final
<?php
echo substr_replace("0742123456", " ", 4, 0) . "\n";
echo substr_replace("raport_2025.pdf", "2026.pdf", 7);
Rezultat
0742 123456
raport_2026.pdf
Greșeli frecvente
- Confunzi
substr_replacecustr_replace. Al treilea parametru este o poziție (număr), nu textul căutat. - Lucrezi pe texte cu diacritice și pozițiile nu se potrivesc. Pozițiile sunt în octeți; calculează-le cu
strlen/strpos, nu cumb_strlen.
Comenzi înrudite
str_replace: Înlocuiește toate aparițiile unui text cu alt text.substr: Extrage o bucată dintr-un text, pornind de la o anumită poziție.str_repeat: Repetă un text de un anumit număr de ori.