Como remover todos os espaços em branco desnecessários dentro de uma string?

28/04/2017

0

PHP

Oi gente, me ajudem nessa aqui:

Como posso remover espaços em branco que ficam em excesso dentro de uma string?

Por exemplo
$texto= "O        php        é uma                   linguagem  de     programação";



Quero que fique assim:
$texto= "O php é uma linguagem de programação";


Preciso fazer isso no php. Vou criar uma função que faça esse tratamento
Larissa Aguiar

Larissa Aguiar

Responder

Post mais votado

28/04/2017

Oi Larissa, td bem?

Tem diferença entre os textos? Eu não percebi rsrsrs

Bem, pelo visto o que você quer é retirar quando houver mais de um espaço em branco entre as palavras certo? Eu não conheço bem php, mas sempre que surgem questões desse tipo sou a favor das expressões regulares. Acho muito mais elegante e prático. Acho que seria algo mais ou menos assim ( acho que você vai ter que procurar a sintaxe porque eu não me lembro mais).


<?php
$str = 'TESTE<space><space><space><space><space>TESTE 2<space><space><space><space>';
$str = preg_replace('/\\s\\s+/', ' ', $str);

//Imprimiria "TESTE TESTE2"

echo $str;
?>

Aline Bianchini

Aline Bianchini
Responder

Mais Posts

02/05/2017

Larissa Aguiar

Oi Aline :) Muito obrigada pela ajuda!

No caso você acha a regex a melhor opção para isso?

Caso seja eu vou criar uma função que tenha o texto como parâmetro e tratá-lo como você orientou.

Parece ser uma opção boa para testar. Vou verificar e te falo!
Responder

04/05/2017

Aline Bianchini

Oi Larissa,

Apesar de ter replace e outros métodos para tal, acho sim melhor utilizar regex porque além do código ficar mais legível, você pode tratar várias condições de uma vez. Você pode criar um pattern e se um dia não for mais os espaços o seu problema, mas os acentos ( ou os dois juntos, espaços e acentos), basta alterá-lo e pronto! Prático e bonito! rsrsrs
Responder

05/05/2017

Diego Silva

Concordo com a Aline,

Regex no meu ponto de vista é uma solução mais "elegante" para casos assim. E acredito que não seja só no php. Em outras linguagens é possível que o uso de expressões regulares seja o melhor a fazer nesse caso.

Caso não queria usar a regex, você pode usar o replace ou até mesmo criar uma função ´personalizada para esse caso.

Espero ter colaborado de alguma forma. Valeu!
Responder

08/05/2017

Larissa Aguiar

E essa função personalizada poderia ter o uso do regex nela tbm hehehe
Responder

09/05/2017

Calebe Menezes

Oi Larissa,

Uma outra opção é usar o str_replace do php.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar