str_replace în PHP

Înlocuiește toate aparițiile unui text cu alt text.

Sintaxă
str_replace(array|string $cauta, array|string $inlocuieste, string|array $text, int &$numar = null): string|array

Ce face str_replace

str_replace caută un text și îl înlocuiește peste tot unde apare. Face diferența între litere mari și mici. Pentru căutare fără să țină cont de majuscule, folosește str_ireplace.

Poți da tablouri pentru căutare și înlocuire: primul element din $cauta este înlocuit cu primul din $inlocuieste și așa mai departe.

Parametri

Parametru Descriere
$cauta Textul (sau tabloul de texte) căutat.
$inlocuieste Textul (sau tabloul de texte) pus în loc.
$text Textul în care se face înlocuirea.
$numar Opțional. Variabilă în care se salvează câte înlocuiri s-au făcut.

Ce returnează

Textul nou, cu înlocuirile făcute. Textul original nu se modifică.

Exemple

Exemplul 1: Înlocuire simplă

<?php
echo str_replace("PHP 7", "PHP 8", "Site-ul rulează pe PHP 7.");

Rezultat

Site-ul rulează pe PHP 8.

Exemplul 2: Mai multe înlocuiri deodată

<?php
$sablon = "Salut {nume}, comanda {id} a fost livrată.";

echo str_replace(
    ["{nume}", "{id}"],
    ["Ana", "#1024"],
    $sablon
);

Rezultat

Salut Ana, comanda #1024 a fost livrată.

Exemplul 3: Numărul de înlocuiri

<?php
$text = str_replace("a", "A", "banana", $numar);
echo "$text ($numar înlocuiri)";

Rezultat

bAnAnA (3 înlocuiri)

Greșeli frecvente

  • Te aștepți ca textul original să se schimbe. str_replace returnează un text nou, pe care trebuie să îl salvezi: $text = str_replace(...).

Comenzi înrudite

  • substr: Extrage o bucată dintr-un text, pornind de la o anumită poziție.
  • strpos: Găsește poziția primei apariții a unui text în alt text.
  • sprintf: Construiește un text formatat după un șablon și îl returnează, fără să îl afișeze.