W3docs

trim()

A função trim() no PHP remove espaços em branco ou outros caracteres predefinidos do início e do fim de uma string.

Introdução

A função trim() no PHP remove espaços em branco (ou outros caracteres que você especificar) de ambos o início e o fim de uma string. É uma das funções de string mais usadas, pois textos vindos de formulários, arquivos e requisições HTTP quase sempre chegam com espaços, tabulações ou quebras de linha extras ao redor deles.

Este capítulo aborda a sintaxe, os caracteres que o trim() remove por padrão, como remover um conjunto personalizado de caracteres, como o trim() difere do ltrim() e do rtrim(), e os erros mais comuns a evitar.

Sintaxe

trim(string $string, string $characters = " \n\r\t\v\x00"): string
ParâmetroDescrição
$stringA string de entrada a ser aparada.
$charactersOpcional. O conjunto de caracteres a remover. Quando omitido, o conjunto padrão de espaços em branco é utilizado.

A função retorna uma nova string aparada — ela não modifica a $string original (strings em PHP são passadas por valor).

Por padrão, o trim() remove estes caracteres de ambos os lados:

CaractereSignificado
" "Um espaço comum
"\t"Uma tabulação
"\n"Uma quebra de linha (nova linha)
"\r"Um retorno de carro
"\0"O byte NUL
"\x0B" (\v)Uma tabulação vertical

Exemplo básico

Remover os espaços iniciais e finais de uma string:

php— editable, runs on the server

Os colchetes são impressos apenas para tornar o resultado visível — eles provam que os espaços em ambos os lados foram removidos, enquanto o espaço interno (Hello, world!) é preservado.

Removendo caracteres personalizados

O segundo argumento permite escolher exatamente quais caracteres remover. Isso é útil para limpar delimitadores, barras ou aspas:

<?php

echo trim("xxxHello worldxxx", "x"), "\n"; // Hello world
echo trim("/var/www/html/", "/"), "\n";    // var/www/html
echo trim("###Section###", "#"), "\n";     // Section

Você pode passar vários caracteres de uma vez — o trim() remove qualquer um deles de cada extremidade até encontrar um caractere que não esteja no conjunto:

<?php

echo trim("**[Note]**", "*[]"); // Note

Note que apenas as extremidades são afetadas: os colchetes dentro da string ficam intactos, assim como o espaço interno no primeiro exemplo.

Intervalos de caracteres com ".."

Dentro do argumento $characters, você pode especificar um intervalo com dois pontos. Por exemplo, para remover caracteres de controle ASCII:

<?php

$dirty = "\x01\x02Hello\x03";
echo trim($dirty, "\x00..\x1F"); // Hello

trim() vs ltrim() vs rtrim()

O trim() atua em ambas as extremidades. Quando você quiser apenas um lado, use suas funções irmãs:

FunçãoRemove de
trim()ambas as extremidades
ltrim()apenas à esquerda (início)
rtrim()apenas à direita (fim)
<?php

$value = "...data...";

echo trim($value, "."),  "\n";  // data
echo ltrim($value, "."), "\n";  // data...
echo rtrim($value, "."), "\n";  // ...data

Caso de uso comum: limpando entradas do usuário

O trim() é mais valioso ao validar entradas de formulário. Um usuário pode digitar um espaço no final do e-mail ou deixar o campo preenchido apenas com espaços. Aparar primeiro torna essas verificações confiáveis:

<?php

$username = "  alice  ";
$username = trim($username);

if ($username === "") {
    echo "Username is required.";
} else {
    echo "Welcome, " . $username . "!"; // Welcome, alice!
}

Sem a chamada ao trim(), um valor " " (apenas espaços) passaria na verificação if (!empty($username)), mesmo sendo efetivamente vazio.

Armadilhas

  • Retorna um valor; não muta. trim($string); sozinho não faz nada útil — você deve atribuir o resultado: $string = trim($string);.
  • O conjunto personalizado é uma lista, não uma substring. trim("Hello", "Helo") remove cada caractere inicial/final que apareça em "Helo", não a palavra literal — portanto pode consumir mais do que o esperado.
  • Caracteres multibyte. O trim() opera em bytes, não em pontos de código Unicode. Para remover espaços em branco multibyte, use um conjunto personalizado ou uma expressão regular.
  • Atua apenas nas extremidades. Para remover caracteres em toda a string, use str_replace() ou preg_replace().

Conclusão

A função trim() é a ferramenta ideal para limpar as bordas de uma string — espaços em branco por padrão, ou qualquer conjunto de caracteres que você fornecer. Combinada com suas funções irmãs unilaterais ltrim() e rtrim(), ela torna a validação de entrada e a normalização de strings simples e previsíveis.

Para continuar aprendendo sobre manipulação de strings em PHP, consulte PHP Strings, str_replace(), explode() e str_pad().

Prática

Prática
O que a função PHP trim() faz?
O que a função PHP trim() faz?
Was this page helpful?