W3docs

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
ParametroObbligatorioDescrizione
$stringLa stringa di input da elaborare.
$charactersNoUn 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:

CarattereSignificato
" " (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.

php— editable, runs on the server

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:

FunzioneElabora 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.

  • 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 e trim() per entrambe le estremità.

Esercizio

Pratica
Qual è la funzionalità della funzione rtrim() in PHP?
Qual è la funzionalità della funzione rtrim() in PHP?
Was this page helpful?