As vezes queremos eliminar espaços em branco das nossas strings, e frequentemente usamos a função trim() . Só que as vezes queremos eliminar espaços dentro das strings, e quebramos a cabeça para fazer. Usando expressões regulares é fácil. Veja o exemplo a seguir:
$str = " This line contains\tliberal \r\n use of whitespace.\n\n";O exemplo acima funciona da seguinte forma:
// First remove the leading/trailing whitespace
$str = trim($str);
// Now remove any doubled-up whitespace
$str = preg_replace('/\s(?=\s)/', '', $str);
// Finally, replace any non-space whitespace, with a space
$str = preg_replace('/[\n\r\t]/', ' ', $str);
// Echo out: 'This line contains liberal use of whitespace.'
echo "{$str}";
?>
- Primeiro usa o trim() para limpar os espaços do início e do final da string.
- Depois usa o preg_replace() para remover os espaços duplicados.
- O caracter de escape \s significa "qualquer espaço em branco".
- A notação (?=) é usada para realizar pesquisa adiante. Na prática ele significa "qualquer espaço que é seguido por outro espaço". Isso remove os duplicados, deixando apenas um espaço em branco.
- Finalmente, usamos outra expressão regular [\n\r\t] para encontrar as quebras de linha (\n), "retornos de carro" (\r) ou tabulações (\t), e substituímos tudo isso por um espaço em branco.
Extraído da seção 1.2.1 do livro PHP 5 in Practice
3 comentários:
Muito bom, ajudou bastante. Parabéns!
Ajudou bastante. Parabéns!
Mano, você salvou a minha vida!
Fiz meus códigos, mas do nada o Notepad travou e perdi tudo.
Aí usei os seu tutorial e ficou massa!
Chega de digitar, agora é só enviar e imprimir meus docs!!
Tnx!!!!!!
Postar um comentário