Home / Blog / PHP
.
07/05/2020

Como remover caracteres de espaço em branco em uma string no PHP – função trim()

Muitas vezes, as strings têm espaços extras que precisam ser removidos. Por exemplo, convém substituir vários espaços por um único espaço ou livrar-se de todos os espaços em branco em uma sequência. Da mesma forma, você pode planejar remover todo o espaço em branco da extremidade esquerda ou direita de uma sequência.

Remova os espaços em branco do início ou do fim de uma String

Se você deseja remover o espaço em branco somente do início de uma string, use a função ltrim () no PHP. Se você deseja remover o espaço em branco somente do final de uma string, use a  função rtrim() no PHP. Se você deseja remover o espaço em branco de ambas as extremidades de uma string, use a função trim() em vez de usar ltrim() e rtrim().

Essas funções removerão os seguintes caracteres de espaço em branco:

  1. “” (um espaço comum)
  2. “\t” (uma guia)
  3. “\n” (uma nova linha)
  4. “\r” (um retorno)
  5. “\0” (o NUL-byte)
  6. “\x0B” (uma guia vertical)

Remova todo o espaço em branco em uma String

Algumas vezes, as strings com as quais você está trabalhando terão espaços em branco indesejados no meio e no começo e no final. A função de recorte será ineficaz contra ela.

Se você deseja remover todos os caracteres de espaço em branco, independentemente de onde eles ocorram na cadeia, use  str_replace()  para substituir todas as ocorrências por uma cadeia em branco.

$stripped = str_replace(' ', '', $str);

O espaço em branco pode consistir em mais do que apenas caracteres de espaço. Nesses casos, o uso da função str_replace() não a cortará. O especial  \s  personagem em uma expressão regular é usado para representar todos os caracteres de espaço em branco que foram removidos pela trim(), ltrim() e rtrim().

$stripped = preg_replace('/\s/', '', $str);

Substitua vários caracteres de espaço em branco por um único espaço

Na maioria das vezes, quando você decide remover caracteres extras de espaço em branco de uma string, convém substituir dois ou mais deles por um único caractere de espaço. Isso é diferente de remover todos os espaços; portanto, você precisará fazer pequenas alterações na expressão regular e na função preg_replace().

$stripped = preg_replace('/\s+/', ' ', $str);

No exemplo acima, o + after \ s significa que você deseja substituir um ou mais caracteres de espaço em branco por um único espaço. O único problema agora é que a cadeia principal pode conter vários caracteres de espaço em branco nas duas extremidades. Nesses casos, haverá um caractere de espaço presente nos dois lados, mesmo após o uso de preg_replace(). A solução aqui é usar trim() na string resultante.

$stripped = trim(preg_replace('/\s+/', ' ', $str));
Blog PHP

Posts Relacionados