![]()
Torna alla pagina delle funzioni
Questa funzione prende in input una stringa e elimina gli eventuali numeri contenuti in essa.
Funzione
function eliminaNumeri($str) {
// Sostituisce ogni cifra (0-9) con una stringa vuota
return preg_replace('/[0-9]+/', '', $str);
}
// Esempio d'uso:
echo eliminaNumeri("Cia0 c0me sta1?"); // Output: "Cia cme sta?"
Spiegazione codice
La funzione che utilizza preg_replace è uno strumento potente basato sulle espressioni regolari (regex). Ecco una spiegazione dettagliata di come funziona:
La funzione preg_replace
Questa è una funzione integrata in PHP dedicata alla ricerca e sostituzione di pattern all’interno di stringhe.
Analisi del pattern /[0-9]+/
Il cuore della soluzione risiede nell’espressione regolare passata come primo argomento:
//: I due slash delimitano l’inizio e la fine dell’espressione regolare.[0-9]: Questa parte definisce una “classe di caratteri”. Indica al motore di ricerca di cercare qualsiasi carattere compreso nell’intervallo tra lo 0 e il 9 (quindi, tutte le cifre decimali).+: Questo quantificatore significa “uno o più”. In pratica, dice al programma di raggruppare le cifre consecutive e trattarle come un unico blocco da eliminare.
Come opera la sostituzione
- Secondo argomento (
''): Qui specifichiamo con cosa sostituire ciò che abbiamo trovato. Usando una stringa vuota (''), stiamo dicendo a PHP di “cancellare” fisicamente le occorrenze trovate dal pattern. - Terzo argomento (
$str): È la variabile di input che contiene il testo originale su cui vogliamo operare.
In sintesi, il motore di PHP analizza la stringa, identifica ogni sequenza di numeri e la sostituisce con il “nulla”, restituendo infine la stringa ripulita. È un approccio molto più snello e performante rispetto a un ciclo for manuale, poiché l’intera operazione di scansione viene eseguita a basso livello dal motore regex di PHP.