Enviar por e-mail
Imprimir
Linhas
O método mais comum para remover as linhas de uma string é a substituição de caracteres com str_replace.
$string = "
Linha,
tabulações e
linha";
$string = str_replace(array("\r\n", "\r\n", "\n"), ' ', $string);
// Retorna: Linha, tabulações e linha.
As linhas são substituídas por espaços em branco para não juntar a palavra final de uma linha com a primeira palavra da próxima linha. Observe que a string continua com as tabulações. Caso você também precise remover as tabulações não pode apenas incluir no final do array o \t. Resultaria em uma string com espaços a mais.
$string = "
Linha,
tabulações,
mais tabulações e
linha";
$string = str_replace(array("\r\n", "\r\n", "\n", "\t"), ' ', $string);
// Retorna: Linha, tabulações, mais tabulações e linha.
Podemos substituir \t por vazio (ou null).
$string = "
Linha,
tabulações,
mais tabulações e
linha";
$string = str_replace(array("\r\n", "\r\n", "\n", "\t"), array(' ', ' ', ' ', null), $string);
// Retorna: Linha, tabulações, mais tabulações e linha.
Ou fazer substituição por expressão regular com preg_replace. As linhas e tabulações são consideradas espaços múltiplos.
$string = "
Linha,
tabulações,
mais tabulações e
linha";
$string = preg_replace('|\s{2,}|', ' ', $string);
// Retorna: Linha, tabulações, mais tabulações e linha
A função preg_replace procura pela expressão regular \s{2,} (tudo que tiver 2 ou mais caracteres de espaço em branco) e substitui por apenas 1 espaço.
Espaços em branco
Da mesma forma que preg_replace remove as linhas e tabulações, remove os 2 ou mais espaços em branco entre as palavras de uma string.
$string = 'teste com vários espaços em branco';
$string = preg_replace('|\s{2,}|', ' ', $string);
// Retorna: teste com vários espaços em branco
function no_spaces($str) {
return trim(preg_replace('\s{2,}', ' ', $str));
}Referências
Comentar
RSS
RSS
Olá, gostaria de agrader este POST pois me ajudou muito e resolver um problema para remover espaçoes em branco em um Script PHP.
Valeu
Cassio Gomes