Funzione di sostituzione dei caratteri Php. Str_replace: sostituisce tutte le occorrenze della stringa di ricerca con la stringa di sostituzione. str_replace con array: più sostituzioni in una

Ora ne esamineremo uno molto funzione utile for , ovvero sostituire parti di stringhe. Questa è la funzione str_replace, che è simile al metodo in editor di testo"Sostituire". Leggi di seguito per sapere come usarlo, esempi e suggerimenti.

Opzioni di chiamata

str_replace ha tre parametri, tutti obbligatori.

Str_replace(cerca, sostituisci, stringaoriginale)

  • la ricerca è ciò che vuoi trovare. Può essere una stringa o un array.
  • sostituisci: tutti gli elementi trovati specificati nella ricerca verranno sostituiti con questo valore. Anche questa può essere una stringa o un array.
  • originalString: la stringa originale in cui verrà eseguita la ricerca. La funzione NON modifica la stringa di input!

In effetti, qui, come in tutte le lezioni precedenti, tutto è semplice. Diamo un'occhiata al codice di esempio e tutto andrà immediatamente a posto.

Esempio di utilizzo di str_replace

Quindi, abbiamo la stringa di input "Ci sono X chilogrammi di mandarini sullo scaffale". Al posto di “X” vogliamo sostituire il numero desiderato. Per fare ciò, puoi usare replay in questo modo:

//Stringa di input che utilizzeremo come modello $rawstring = "Ci sono X chilogrammi di mandarini sullo scaffale."; //sostituisci $str_1 = str_replace("X", "10", $rawstring); //può essere sostituito con un altro valore, qualsiasi $str_2 = str_replace("X", "135473", $rawstring); echo "Prima volta: ". $str_1 . "
"; echo "Seconda volta: ". $str_2;

Otteniamo quanto segue:

Prima volta: sullo scaffale ci sono 10 chilogrammi di mandarini. Seconda volta: sullo scaffale ci sono 135.473 chilogrammi di mandarini.

L’esempio, ovviamente, non è dei migliori, semplicemente non riuscivo a pensarne un altro, ma rende l’idea, giusto? Spero che tutto sia chiaro, altrimenti chiedilo nei commenti.

str_replace con array: più sostituzioni in una

Nell'esempio, abbiamo utilizzato replay per sostituire una parola "X" con la nostra stringa (un numero o altro), ma cosa succede se vogliamo sostituire molte parole? Puoi provare semplicemente a utilizzare la funzione più volte, oppure creare un array di parole CHE sostituiremo, nonché un secondo array con i valori CON CUI sostituiremo, in modo da ottenere il risultato in una chiamata al funzione.

Espandiamo lo stesso esempio, ma sostituiamo qualcos'altro.

//String - template $rawstring = "Su Z si trova X chilogrammo di Y selezionato."; //array COSA sostituiremo $segnaposto = array("Z", "X", "Y"); //Array COSA sostituiremo con $vals_1 = array("shelf", "5", "oranges"); //Bene, oppure questo $vals_2 = array("tabella", "189", "pere"); //sostituisci una volta $str_1 = str_replace($segnaposto, $vals_1, $rawstring); //sostituisci due $str_2 = str_replace($segnaposto, $vals_2, $rawstring); echo "Uno: ". $str_1 . "
"; echo "Due: ". $str_2;

Di conseguenza, cosa otteniamo.

(PHP4, PHP5, PHP7)

str_replace — Sostituisce tutte le occorrenze della stringa di ricerca con la stringa di sostituzione

Descrizione

Questa funzione restituisce una stringa o un array con tutte le occorrenze di ricerca in oggetto sostituite con sostituisci .

Se non sono necessarie regole di ricerca/sostituzione complesse (come le espressioni regolari), è preferibile utilizzare questa funzione preg_replace().

Elenco dei parametri

Se la ricerca e la sostituzione sono array, allora str_replace() utilizza ciascun valore dell'array corrispondente per cercare e sostituire in oggetto . Se l'array replace ha meno elementi di search , la stringa vuota verrà utilizzata come stringa sostitutiva per i valori rimanenti.

Se search è un array e replace è una stringa, la stringa sostitutiva verrà utilizzata per ciascun elemento dell'array di ricerca. Il caso inverso non ha senso.

Se la ricerca o la sostituzione sono array, i loro elementi verranno elaborati dal primo all'ultimo. Valore di ricerca, noto anche come ago

(ago). È possibile utilizzare un array per più valori di ricerca.

Sostituire

Il valore sostitutivo verrà utilizzato per sostituire i valori di ricerca. È possibile utilizzare un array per più valori.

Soggetto La stringa o l'array su cui viene eseguita la ricerca e la sostituzione, nota anche come pagliaio

(pagliaio).

Se l'oggetto è un array, la ricerca e la sostituzione verranno eseguite su ciascun elemento dell'oggetto e anche il risultato della funzione sarà un array.

Se superato, verrà impostato sul numero di sostituzioni effettuate.

Valori restituiti

Questa funzione restituisce una stringa o un array con i valori sostituiti.

Esempi str_replace()

Esempio n.1 Esempi di utilizzo
// assegna " );

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

$soloconsonanti = str_replace($vocali, "", "Ciao mondo di PHP");
// assegna: dovresti mangiare pizza, birra e gelato ogni giorno $frase =;
$sano = array("frutta", "verdura", "fibra");
$yummy = array("pizza", "birra", "gelato");

$nuovafrase = str_replace($sano, $yummy, $frase);

// assegna: 2
$str = str_replace ("ll", "", "brava, signorina Molly!", $count);
echo $conteggio;
?>

Esempio n. 2 Esempi di potenziali trucchi con str_replace()

// Ordine sostitutivo
$str = "Linea 1\nLinea 2\rLinea 3\r\nLinea 4\n";
$ordine = array("\r\n" , "\n" , "\r" );
$sostituisci = "
" ;

// Elabora prima \r\n per evitare di sostituirli nuovamente.
echo $newstr = str_replace ($ordine, $sostituisci, $str);

// Stampa F perché A viene sostituito da B, poi B da C e così via...
// Di conseguenza, E verrà sostituito da F, poiché la sostituzione avviene da sinistra a destra.
$ricerca = array("A" , "B" , "C" , "D" , "E" );
$sostituisci = array("B" , "C" , "D" , "E" , "F" );
$oggetto = "A";
echo str_replace ($ricerca, $sostituisci, $oggetto);

// Risultati: applerootrootnut (per il motivo di cui sopra)
$lettere = array("I", "circa");
$frutto = array("mela", "noce");
$testo = "Sto per";
$output = str_replace($lettere, $frutto, $testo);
echo $output;
?>

Note

Commento: Questa funzione è sicura per elaborare i dati in formato binario.

Avvertimento

Nota sulla procedura di sostituzione

Perché str_replace() esegue la sostituzione da sinistra a destra, poi nel caso di sostituzioni multiple può sostituire un valore precedentemente inserito con un altro.

Commento:

Vedi anche gli esempi in questa pagina. Questa funzione distingue tra maiuscole e minuscole. Utilizzo str_ireplace()

(PHP4, PHP5, PHP7)

str_replace — Sostituisce tutte le occorrenze della stringa di ricerca con la stringa di sostituzione

Descrizione

Questa funzione restituisce una stringa o un array con tutte le occorrenze di ricerca in oggetto sostituite con sostituisci .

Se non sono necessarie regole di ricerca/sostituzione complesse (come le espressioni regolari), è preferibile utilizzare questa funzione per la sostituzione senza distinzione tra maiuscole e minuscole. .

Elenco dei parametri

Se la ricerca e la sostituzione sono array, allora str_replace() utilizza ciascun valore dell'array corrispondente per cercare e sostituire in oggetto . Se l'array replace ha meno elementi di search , la stringa vuota verrà utilizzata come stringa sostitutiva per i valori rimanenti.

Se search è un array e replace è una stringa, la stringa sostitutiva verrà utilizzata per ciascun elemento dell'array di ricerca. Il caso inverso non ha senso.

Se la ricerca o la sostituzione sono array, i loro elementi verranno elaborati dal primo all'ultimo. Valore di ricerca, noto anche come ago

(ago). È possibile utilizzare un array per più valori di ricerca.

Sostituire

Il valore sostitutivo verrà utilizzato per sostituire i valori di ricerca. È possibile utilizzare un array per più valori.

Soggetto La stringa o l'array su cui viene eseguita la ricerca e la sostituzione, nota anche come pagliaio

(pagliaio).

Se l'oggetto è un array, la ricerca e la sostituzione verranno eseguite su ciascun elemento dell'oggetto e anche il risultato della funzione sarà un array.

Se superato, verrà impostato sul numero di sostituzioni effettuate.

Valori restituiti

Questa funzione restituisce una stringa o un array con i valori sostituiti.

Esempi str_replace()

Esempio n.1 Esempi di utilizzo
// assegna " );

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

$soloconsonanti = str_replace($vocali, "", "Ciao mondo di PHP");
// assegna: dovresti mangiare pizza, birra e gelato ogni giorno $frase =;
$sano = array("frutta", "verdura", "fibra");
$yummy = array("pizza", "birra", "gelato");

$nuovafrase = str_replace($sano, $yummy, $frase);

// assegna: 2
$str = str_replace ("ll", "", "brava, signorina Molly!", $count);
echo $conteggio;
?>

Esempio n. 2 Esempi di potenziali trucchi con str_replace()

// Ordine sostitutivo
$str = "Linea 1\nLinea 2\rLinea 3\r\nLinea 4\n";
$ordine = array("\r\n" , "\n" , "\r" );
$sostituisci = "
" ;

// Elabora prima \r\n per evitare di sostituirli nuovamente.
echo $newstr = str_replace ($ordine, $sostituisci, $str);

// Stampa F perché A viene sostituito da B, poi B da C e così via...
// Di conseguenza, E verrà sostituito da F, poiché la sostituzione avviene da sinistra a destra.
$ricerca = array("A" , "B" , "C" , "D" , "E" );
$sostituisci = array("B" , "C" , "D" , "E" , "F" );
$oggetto = "A";
echo str_replace ($ricerca, $sostituisci, $oggetto);

// Risultati: applerootrootnut (per il motivo di cui sopra)
$lettere = array("I", "circa");
$frutto = array("mela", "noce");
$testo = "Sto per";
$output = str_replace($lettere, $frutto, $testo);
echo $output;
?>

Note

Commento: preg_replace()

Avvertimento

Nota sulla procedura di sostituzione

Perché str_replace() esegue la sostituzione da sinistra a destra, poi nel caso di sostituzioni multiple può sostituire un valore precedentemente inserito con un altro.

Commento:

Vedi anche gli esempi in questa pagina. Questa funzione è sicura per elaborare i dati in formato binario. str_ireplace()