W3docs

rtrim()

Artigo sobre a função PHP rtrim(), usada para remover espaços em branco (ou outros caracteres) do final de uma string.

A função PHP rtrim() remove espaços em branco — ou quaisquer outros caracteres que você especificar — do lado direito de uma string. (O "r" vem de right, direito em inglês.) Ela retorna uma nova string aparada e deixa a original intacta, pois strings são passadas por valor em PHP.

Esta página aborda a sintaxe, quais caracteres são removidos por padrão, como fornecer uma máscara de caracteres personalizada (incluindo intervalos) e quando rtrim() é a ferramenta certa em comparação com suas funções irmãs ltrim() e trim().

Sintaxe

rtrim(string $string, string $characters = " \n\r\t\v\x00"): string
ParâmetroObrigatórioDescrição
$stringSimA string de entrada a ser aparada.
$charactersNãoUma lista de caracteres a remover do final. Se omitido, o conjunto padrão de espaços em branco é usado.

Valor de retorno: a string aparada. A função nunca modifica $string no lugar.

Caracteres removidos por padrão

Quando você chama rtrim() com apenas um argumento, ela remove estes caracteres do final:

CaractereSignificado
" " (0x20)Espaço comum
"\t" (0x09)Tabulação
"\n" (0x0A)Avanço de linha (newline)
"\r" (0x0D)Retorno de carro
"\0" (0x00)Byte NUL
"\v" (0x0B)Tabulação vertical

Note que este conjunto padrão não inclui outros espaços em branco Unicode como o espaço não quebrável (\xA0); para removê-los você deve listá-los explicitamente na máscara.

Removendo espaços em branco no final

O uso mais comum é limpar espaços, tabulações e quebras de linha no final — por exemplo, após ler uma linha de um arquivo ou sanitizar uma entrada de formulário.

php— editable, runs on the server

O | marca onde a string termina agora, para que você possa ver que os espaços no final foram removidos:

Hello World!|

Novas linhas e tabulações são tratadas da mesma forma:

<?php
$line = "value\t\r\n";
echo rtrim($line) . '|'; // value|
?>

Removendo caracteres específicos com uma máscara

Passe um segundo argumento para remover um conjunto personalizado de caracteres em vez de espaços em branco. Cada caractere listado na máscara é removido do final, repetidamente, até que um caractere que não está na máscara seja encontrado.

<?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'
?>

A terceira linha é uma armadilha comum: a máscara é um conjunto de caracteres individuais, não uma substring. '.bak' significa "remover qualquer um dos caracteres ., b, a, k", portanto ela continua consumindo até atingir o t em txt. Se você precisar remover uma string de sufixo literal, use str_replace() ou substr() em vez disso.

Intervalos de caracteres

Você pode expressar um intervalo contíguo com .. entre dois caracteres — prático para remover todos os dígitos ou letras do final:

<?php
echo rtrim('item42', '0..9') . "\n";  // item — strips trailing digits 0-9
?>

rtrim() vs ltrim() vs trim()

Estas três funções compartilham a mesma assinatura e regras de máscara de caracteres; elas diferem apenas no lado da string que afetam:

FunçãoRemove de
ltrim()Esquerda (início) apenas
rtrim()Direita (fim) apenas
trim()Ambos os lados

Use rtrim() especificamente quando o espaço em branco no início é significativo mas o espaço em branco no final é ruído — por exemplo, preservando a indentação enquanto elimina artefatos de fim de linha.

Resumo

  • rtrim() remove espaços em branco (ou um conjunto personalizado de caracteres) do final de uma string e retorna o resultado.
  • Sem o segundo argumento, ela remove espaço, tabulação, nova linha, retorno de carro, NUL e tabulação vertical.
  • A máscara opcional é um conjunto de caracteres, não um sufixo — para remover um final literal, use str_replace().
  • Use ltrim() para o início e trim() para ambos os lados.

Prática

Prática
Qual é a funcionalidade da função rtrim() em PHP?
Qual é a funcionalidade da função rtrim() em PHP?
Was this page helpful?