rtrim()
Articolo sulla funzione PHP rtrim(), utilizzata per rimuovere spazi (o altri caratteri) dalla fine di una stringa. Funzione utile per
La funzione PHP rtrim() rimuove spazi bianchi — o qualsiasi altro carattere specificato — dall'estremità destra di una stringa. ("r" sta per right, destra.) Restituisce una nuova stringa elaborata e lascia l'originale invariata, poiché le stringhe vengono passate per valore in PHP.
Questa pagina illustra la sintassi, i caratteri rimossi per impostazione predefinita, come fornire una maschera di caratteri personalizzata (inclusi gli intervalli) e quando rtrim() è lo strumento giusto rispetto alle funzioni sorelle ltrim() e trim().
Sintassi
rtrim(string $string, string $characters = " \n\r\t\v\x00"): string| Parametro | Obbligatorio | Descrizione |
|---|---|---|
$string | Sì | La stringa di input da elaborare. |
$characters | No | Un elenco di caratteri da rimuovere dalla fine. Se omesso, viene utilizzato il set predefinito di spazi bianchi. |
Valore restituito: la stringa elaborata. La funzione non modifica mai $string in-place.
Caratteri rimossi per impostazione predefinita
Quando si chiama rtrim() con un solo argomento, vengono rimossi i seguenti caratteri finali:
| Carattere | Significato |
|---|---|
" " (0x20) | Spazio ordinario |
"\t" (0x09) | Tab |
"\n" (0x0A) | Line feed (nuova riga) |
"\r" (0x0D) | Carriage return |
"\0" (0x00) | Byte NUL |
"\v" (0x0B) | Tab verticale |
Si noti che questo set predefinito non include altri spazi bianchi Unicode come lo spazio unificatore (\xA0); per rimuoverli è necessario elencarli esplicitamente nella maschera.
Rimozione degli spazi bianchi finali
L'uso più comune è la pulizia di spazi, tab e interruzioni di riga finali — ad esempio dopo aver letto una riga da un file o aver sanificato l'input di un modulo.
Il | indica dove termina ora la stringa, così si può vedere che gli spazi finali sono stati rimossi:
Hello World!|Le nuove righe e i tab vengono gestiti allo stesso modo:
<?php
$line = "value\t\r\n";
echo rtrim($line) . '|'; // value|
?>Eliminazione di caratteri specifici con una maschera
Passare un secondo argomento per rimuovere un set personalizzato di caratteri invece degli spazi bianchi. Ogni carattere elencato nella maschera viene rimosso dalla fine, ripetutamente, fino a quando non viene incontrato un carattere non presente nella maschera.
<?php
echo rtrim('Hello World...', '.') . "\n"; // Hello World
echo rtrim('/path/to/dir///', '/') . "\n"; // /path/to/dir
echo rtrim('cleanup.txt.bak', '.bak') . "\n"; // cleanup.txt — strips any of '.', 'b', 'a', 'k'
?>La terza riga è un errore comune: la maschera è un insieme di singoli caratteri, non una sottostringa. '.bak' significa "rimuovi qualsiasi dei caratteri ., b, a, k", quindi continua a rimuovere finché non raggiunge la t in txt. Se si ha bisogno di rimuovere una stringa suffisso letterale, utilizzare str_replace() o substr().
Intervalli di caratteri
È possibile esprimere un intervallo contiguo con .. tra due caratteri — utile per rimuovere tutte le cifre o lettere finali:
<?php
echo rtrim('item42', '0..9') . "\n"; // item — strips trailing digits 0-9
?>rtrim() vs ltrim() vs trim()
Queste tre funzioni condividono la stessa firma e le stesse regole per la maschera di caratteri; differiscono solo nel lato della stringa che elaborano:
| Funzione | Elabora da |
|---|---|
ltrim() | Sinistra (inizio) soltanto |
rtrim() | Destra (fine) soltanto |
trim() | Entrambe le estremità |
Usare rtrim() specificamente quando gli spazi bianchi iniziali sono significativi ma quelli finali sono indesiderati — ad esempio, per preservare l'indentazione eliminando gli artefatti di fine riga.
Riepilogo
rtrim()rimuove spazi bianchi (o un set di caratteri personalizzato) dalla fine di una stringa e restituisce il risultato.- Senza un secondo argomento rimuove spazio, tab, nuova riga, carriage return, NUL e tab verticale.
- La maschera opzionale è un insieme di caratteri, non un suffisso — per rimuovere una terminazione letterale, usare
str_replace(). - Usare
ltrim()per l'inizio etrim()per entrambe le estremità.