W3docs

ltrim()

Artigo sobre a função PHP ltrim(), usada para remover espaços em branco ou outros caracteres especificados do início de uma string.

A função PHP ltrim() remove espaços em branco (ou outros caracteres especificados) do lado esquerdo — o início — de uma string. O "l" significa left (esquerda). Ela é a contraparte de rtrim(), que remove do lado direito, e de trim(), que remove de ambos os lados.

ltrim() é mais útil quando você precisa normalizar entradas sobre as quais não tem controle total: espaços iniciais em campos de formulário, zeros à esquerda em identificadores ou separadores iniciais que ficaram após divisão ou concatenação de strings.

Sintaxe

ltrim(string $string, string $characters = " \n\r\t\v\0"): string
ParâmetroDescrição
$stringA string de entrada a ser cortada.
$charactersOpcional. O conjunto de caracteres a remover. Cada caractere é tratado individualmente — a ordem não importa. Quando omitido, o conjunto padrão de espaços em branco é usado.

A função retorna uma nova string; o original nunca é modificado (strings PHP são passadas por valor).

O conjunto de caracteres padrão

Ao chamar ltrim() com um único argumento, ela remove estes caracteres da esquerda:

  • " " (espaço comum)
  • "\t" (tabulação)
  • "\n" (nova linha)
  • "\r" (retorno de carro)
  • "\0" (byte NUL)
  • "\v" (tabulação vertical)

Removendo espaços em branco à esquerda

O uso mais comum é limpar espaços em branco iniciais:

php— editable, runs on the server

Saída:

[Hello World!   ]

Observe que os espaços finais permanecem — ltrim() toca apenas o lado esquerdo. Os colchetes [ e ] são adicionados apenas para tornar os limites visíveis na saída.

Removendo caracteres específicos

Passe um segundo argumento para remover um conjunto personalizado de caracteres em vez de espaços em branco. Um caso clássico é remover zeros à esquerda:

<?php
echo ltrim("0042", "0");      // 42
echo "\n";
echo ltrim("xxxHello", "x");  // Hello
?>

Saída:

42
Hello

O argumento $characters é um conjunto, não uma substring. Cada caractere listado é removido independentemente, portanto ltrim($line, ".,") remove qualquer combinação de pontos e vírgulas iniciais:

<?php
$line = "...,.,Hello, World";
echo ltrim($line, ".,");  // Hello, World
?>

Saída:

Hello, World

Ele para no primeiro caractere que não está no conjunto (H aqui), deixando o , interno em Hello, World intocado.

Problemas comuns

  • Não é uma remoção de substring. ltrim("hello", "he") remove os caracteres h e e, retornando "llo" — ele não procura pelo prefixo literal "he". Para remover um prefixo conhecido, use str_replace() na primeira ocorrência ou substr().
  • Baseado em bytes, não compatível com Unicode. ltrim() opera em bytes, portanto pode corromper caracteres UTF-8 multibyte se você listá-los em $characters. Para ASCII é perfeitamente seguro; para cortar caracteres multibyte, use um padrão de preg_replace() com o modificador u.
  • Retorna uma cópia. Atribua o resultado de volta se quiser mantê-lo: $s = ltrim($s);.

Quando usar qual trim

NecessidadeUse
Remover apenas do inícioltrim()
Remover apenas do fimrtrim()
Remover de ambos os ladostrim()

Para uma visão mais ampla do tratamento de strings em PHP, consulte PHP Strings.

Prática

Prática
Qual é a função principal de ltrim() em PHP?
Qual é a função principal de ltrim() em PHP?
Was this page helpful?