A idéia é eliminar espaços extras que os usuários acabam colocando em campos nos nossos formulário, seja um simples “space”, “enter”, “tab” e outros… com esta função e com a ajuda das expressões regulares, conseguimos resolver isso de forma simples e fácil.
A função é executada em três passos:
1. Primeiro utilizamos trim que elimina espaços sobrando no início e no final da variável de dados.
2. Depois eliminar espaços duplos que pode-se ter dentro dos valores da variável
3. Por último eliminamos tabulações (\t), enter (\r) e novas linhas (\n) e substituimos por um espaço em branco.
1 2 3 4 5 6 |
function eliminaespaco($variavel){ $variavel = trim($variavel); $variavel = preg_replace('/s(?=s)/', '', $variavel); $variavel = preg_replace('/[nrt]/', ' ', $variavel); return $variavel; } |
Simples assim. 🙂
Que beleza!como um espaço em branco pode irritar….
obrigada
Olá, tem um jeito bem mais simples:
function eliminaespaco($variavel){
return preg_replace(‘/^\s+|\s+$| /’, ”, $variavel);
}
[b]O correto é:[/b]
[code]
function eliminaespaco($variavel=”)
{
// Elimina espaços do inicio e final
$variavel = trim($variavel);
// Troca sequência de espaços(\s)(espaço, \t, \r e \n) por um espaço
$variavel = preg_replace(‘/\s\s+/’, ‘ ‘, $variavel);
// Retorna variavel atualizada
return $variavel;
}
[/code]
[b]Simplificado:[/b]
[code]
function eliminaespaco($variavel=”)
{
return preg_replace(‘/\s\s+/’, ‘ ‘, trim($variavel));
}
[/code]
Se essa variável for salva no banco e o tipo de dados do campo que irá recebe-la for do tipo varchar somente o ltrim resolveria o problema ou seja remover espaço somente do lado esquerdo
Parabéns Guilherme. Funcionou perfeitamente.
Parabéns Guilherme Santos.
Funcionou perfeitamente com uma pequena adaptação:
return preg_replace(‘/\s\s+/’, ‘ ‘, $String_Com_Espaco);