Str_replace - Înlocuiește toate aparițiile șirului de căutare cu șirul de înlocuire. Str_replace - Înlocuiește toate aparițiile unui șir de căutare cu un șir de înlocuire Funcția de înlocuire a caracterelor PHP

Acum ne vom uita la unul foarte functie utila pentru , și anume pentru a înlocui părți de șiruri. Aceasta este funcția str_replace, care este similară cu metoda din editori de text"Înlocui". Citiți mai jos pentru cum să îl utilizați, exemple și sfaturi.

Opțiuni de apel

str_replace are trei parametri, toți necesari.

Str_replace(căutare, înlocuire, șir original)

  • căutarea este ceea ce vrei să găsești. Acesta poate fi un șir sau o matrice.
  • înlocuiți - toate elementele găsite pe care le-ați specificat în căutarea căutării vor fi înlocuite cu această valoare. Acesta, din nou, poate fi un șir sau o matrice.
  • originalString - șirul original în care se va efectua căutarea. Funcția NU modifică șirul de intrare!

De fapt, aici, ca și în toate lecțiile anterioare, totul este simplu. Să ne uităm la exemplul de cod și totul va intra imediat la locul lor.

Exemplu de utilizare a str_replace

Deci, avem șirul de intrare „Sunt X kilograme de mandarine pe raft”. În loc de „X” vrem să înlocuim numărul dorit. Pentru a face acest lucru, puteți utiliza reluarea ceva de genul acesta:

//Șir de intrare pe care îl vom folosi ca șablon $rawstring = "Sunt X kilograme de mandarine pe raft."; //inlocuieste $str_1 = str_replace("X", "10", $rawstring); //poate fi înlocuit cu o altă valoare, orice $str_2 = str_replace("X", "135473", $rawstring); ecou „Prima dată: „. $str_1 . "
"; echo "A doua oară: ". $str_2;

Obținem următoarele:

Prima dată: pe raft sunt 10 kilograme de mandarine. A doua oară: Pe raft sunt 135.473 de kilograme de mandarine.

Exemplul, desigur, nu este cel mai bun, pur și simplu nu m-am putut gândi la altul, dar înțelege ideea, nu? Sper că totul este clar, dacă nu, atunci întrebați în comentarii.

str_replace cu matrice: înlocuiri multiple într-una singură

În exemplu, am folosit reluarea pentru a înlocui un cuvânt „X” cu șirul nostru (un număr sau orice altceva), dar dacă vrem să înlocuim multe cuvinte? Puteți încerca să utilizați pur și simplu funcția de mai multe ori sau să creați o matrice de cuvinte PE CARE le vom înlocui, precum și o a doua matrice cu valorile CARE le vom înlocui CU, pentru a obține rezultatul într-un singur apel către funcţie.

Să extindem același exemplu, dar să înlocuim altceva.

//String - template $rawstring = "Pe Z se află X kilogram de Y selectat."; //array CE vom înlocui $placeholders = array("Z", "X", "Y"); //Matrice CE vom înlocui cu $vals_1 = array("raft", "5", "portocale"); //Ei bine, sau acest $vals_2 = array("tabel", "189", "pere"); //înlocuiește o dată $str_1 = str_replace($substituenți, $vals_1, $rawstring); //înlocuiește două $str_2 = str_replace($substituenți, $vals_2, $rawstring); ecou „Unul:”. $str_1 . "
"; echo "Doi: ". $str_2;

În consecință, ceea ce obținem.

(PHP 4, PHP 5, PHP 7)

str_replace — Înlocuiește toate aparițiile șirului de căutare cu șirul de înlocuire

Descriere

Această funcție returnează un șir sau o matrice cu toate aparițiile de căutare în subiect înlocuite cu înlocuire.

Dacă nu sunt necesare reguli complexe de căutare/înlocuire (cum ar fi expresiile regulate), folosirea acestei funcții este de preferat preg_replace().

Lista parametrilor

Dacă căutarea și înlocuirea sunt matrice, atunci str_replace() folosește fiecare valoare din matricea corespunzătoare pentru a căuta și înlocui în subiect. Dacă matricea de înlocuire are mai puține elemente decât search , șirul gol va fi folosit ca șir de înlocuire pentru valorile rămase.

Dacă căutarea este o matrice și înlocuirea este un șir, atunci acel șir de înlocuire va fi utilizat pentru fiecare element al matricei de căutare. Cazul invers nu are sens.

Dacă căutarea sau înlocuirea sunt matrice, elementele lor vor fi procesate de la primul până la ultimul. Valoarea de căutare, cunoscută și ca ac

(ac). Puteți utiliza o matrice pentru mai multe valori de căutare.

Înlocui

Valoarea de înlocuire va fi utilizată pentru a înlocui valorile de căutare. Puteți utiliza o matrice pentru mai multe valori.

Subiect Șirul sau matricea pe care se efectuează căutarea și înlocuirea, cunoscută și ca carul de fân

(carul de fân).

Dacă subiectul este o matrice, atunci căutarea și înlocuirea vor fi efectuate pe fiecare element subiect, iar rezultatul funcției va fi, de asemenea, o matrice.

Dacă este trecut, acesta va fi setat la numărul de înlocuiri efectuate.

Valori returnate

Această funcție returnează un șir sau o matrice cu valorile înlocuite.

Exemple str_replace()

Exemplul #1 Exemple de utilizare
// atribuie " );

$bodytag = str_replace ("%body%", "negru" , "
// atribuie: Hll Wrld f PHP
$vocale = array("a" , "e" , "i" , "o" , "u" , "A" , "E" , "I" , "O" , "U" );

$numaiconsoane = str_replace($vocale, "", "Bună ziua PHP");
// desemnează: Ar trebui să mănânci pizza, bere și înghețată în fiecare zi $fraza =;
$sănătos = array("fructe" , "legume" , "fibre" );
$yummy = array("pizza" , "bere" , "înghețată" );

$newfrază = str_replace($sănătos, $delicios, $frază);

// atribuie: 2
$str = str_replace ("ll" , "" , "bun doamne doamna Molly!" , $count );
echo $număr ;
?>

Exemplul #2 Exemple de potențiale trucuri cu str_replace()

// Comanda de înlocuire
$str = „Linia 1\nLinia 2\rLinia 3\r\nLinia 4\n”;
$comanda = matrice("\r\n" , "\n" , "\r" );
$inlocuire = "
" ;

// Procesează \r\n mai întâi pentru a evita înlocuirea lor din nou.
echo $newstr = str_inlocuire ($comanda, $inlocuire, $str);

// Imprimă F deoarece A este înlocuit cu B, apoi B cu C și așa mai departe...
// Ca urmare, E va fi înlocuit cu F, deoarece înlocuirea are loc de la stânga la dreapta.
$cautare = matrice("A" , "B" , "C" , "D" , "E" );
$inlocuire = matrice("B" , "C" , "D" , "E" , "F" );
$subiect = "A" ;
echo str_inlocuire ($cautare, $inlocuire, $subiect);

// Ieșiri: applerootrootnut (din motivul de mai sus)
$litere = array("I" , "despre" );
$fructe = array("măr" , "nucă" );
$text = "Sunt despre" ;
$ieșire = str_înlocuire($litere, $fruct, $text);
echo $ieșire ;
?>

Note

Comentariu: Această funcție este sigură pentru procesarea datelor în formă binară.

Avertizare

Notă despre procedura de înlocuire

Deoarece str_replace() efectuează înlocuirea de la stânga la dreapta, apoi atunci când se utilizează mai multe înlocuiri poate înlocui o valoare introdusă anterior cu alta.

Comentariu:

Vezi și exemple pe această pagină. Această funcție ține cont de majuscule și minuscule. Utilizare str_ireplace()

(PHP 4, PHP 5, PHP 7)

str_replace — Înlocuiește toate aparițiile șirului de căutare cu șirul de înlocuire

Descriere

Această funcție returnează un șir sau o matrice cu toate aparițiile de căutare în subiect înlocuite cu înlocuire.

Dacă nu sunt necesare reguli complexe de căutare/înlocuire (cum ar fi expresiile regulate), folosirea acestei funcții este de preferat preg_replace().

Lista parametrilor

Dacă căutarea și înlocuirea sunt matrice, atunci str_replace() folosește fiecare valoare din matricea corespunzătoare pentru a căuta și înlocui în subiect. Dacă matricea de înlocuire are mai puține elemente decât search , șirul gol va fi folosit ca șir de înlocuire pentru valorile rămase.

Dacă căutarea este o matrice și înlocuirea este un șir, atunci acel șir de înlocuire va fi utilizat pentru fiecare element al matricei de căutare. Cazul invers nu are sens.

Dacă căutarea sau înlocuirea sunt matrice, elementele lor vor fi procesate de la primul până la ultimul. Valoarea de căutare, cunoscută și ca ac

(ac). Puteți utiliza o matrice pentru mai multe valori de căutare.

Înlocui

Valoarea de înlocuire va fi utilizată pentru a înlocui valorile de căutare. Puteți utiliza o matrice pentru mai multe valori.

Subiect Șirul sau matricea pe care se efectuează căutarea și înlocuirea, cunoscută și ca carul de fân

(carul de fân).

Dacă subiectul este o matrice, atunci căutarea și înlocuirea vor fi efectuate pe fiecare element subiect, iar rezultatul funcției va fi, de asemenea, o matrice.

Dacă este trecut, acesta va fi setat la numărul de înlocuiri efectuate.

Valori returnate

Această funcție returnează un șir sau o matrice cu valorile înlocuite.

Exemple str_replace()

Exemplul #1 Exemple de utilizare
// atribuie " );

$bodytag = str_replace ("%body%", "negru" , "
// atribuie: Hll Wrld f PHP
$vocale = array("a" , "e" , "i" , "o" , "u" , "A" , "E" , "I" , "O" , "U" );

$numaiconsoane = str_replace($vocale, "", "Bună ziua PHP");
// desemnează: Ar trebui să mănânci pizza, bere și înghețată în fiecare zi $fraza =;
$sănătos = array("fructe" , "legume" , "fibre" );
$yummy = array("pizza" , "bere" , "înghețată" );

$newfrază = str_replace($sănătos, $delicios, $frază);

// atribuie: 2
$str = str_replace ("ll" , "" , "bun doamne doamna Molly!" , $count );
echo $număr ;
?>

Exemplul #2 Exemple de potențiale trucuri cu str_replace()

// Comanda de înlocuire
$str = „Linia 1\nLinia 2\rLinia 3\r\nLinia 4\n”;
$comanda = matrice("\r\n" , "\n" , "\r" );
$inlocuire = "
" ;

// Procesează \r\n mai întâi pentru a evita înlocuirea lor din nou.
echo $newstr = str_inlocuire ($comanda, $inlocuire, $str);

// Imprimă F deoarece A este înlocuit cu B, apoi B cu C și așa mai departe...
// Ca urmare, E va fi înlocuit cu F, deoarece înlocuirea are loc de la stânga la dreapta.
$cautare = matrice("A" , "B" , "C" , "D" , "E" );
$inlocuire = matrice("B" , "C" , "D" , "E" , "F" );
$subiect = "A" ;
echo str_inlocuire ($cautare, $inlocuire, $subiect);

// Ieșiri: applerootrootnut (din motivul de mai sus)
$litere = array("I" , "despre" );
$fructe = array("măr" , "nucă" );
$text = "Sunt despre" ;
$ieșire = str_înlocuire($litere, $fruct, $text);
echo $ieșire ;
?>

Note

Comentariu: pentru înlocuirea fără majuscule.

Avertizare

Notă despre procedura de înlocuire

Deoarece str_replace() efectuează înlocuirea de la stânga la dreapta, apoi atunci când se utilizează mai multe înlocuiri poate înlocui o valoare introdusă anterior cu alta.

Comentariu:

Vezi și exemple pe această pagină. Această funcție ține cont de majuscule și minuscule. Utilizare Această funcție este sigură pentru procesarea datelor în formă binară.