Quando você usa o campo de entrada textarea em um formulário, o usuário pode quebrar linhas (com a tecla enter), contudo, ao salvar o texto ali inserido, normalmente o banco de dados (BD) não reconhece essas quebras de linha. Então, quando você recupera o texto salvo no BD e exibe na página, todo o conteúdo aparece num único bloco de texto, como um só parágrafo.
Mas é possível instruir o registro de quebras de linhas. Veja como:
Primeiro, você deve configurar no formulário o campo textarea para reconhecer as quebras de linhas. Basta usar o atributo "wrap" e o valor "soft".
Exemplo de um campo textarea num formulário formatado para quebra de linha:
<textarea wrap="soft" name="msg"></textarea>
Segundo, na hora de salvar no BD os valores digitados nessa caixa, configure a variável (name="msg") para reconhecer as quebras de linhas através dos seguintes comandos:
$breaks = array("\r\n", "\n", "\r");
$msg = str_replace($breaks, "<br>", $msg);
O que fizemos foi o seguinte: criamos a variável $breaks com a instrução de reconhecimento das quebras de linha da caixa textarea — que é "\n" de new (nova) ou "\n" de row (linha)— e aplicamos à variável do campo do formulário (msg), substituindo todas aquelas quebras de linha (n\n) por <br>, que é a marcação padrão em HTML.
Agora, para recuperar o formado de quebra de linha para uma caixa textarea, é preciso o inverso: converter de <br> para <\n>, que se faz com o código seguinte:
$breaks = array("<br>");
$msg = str_replace($breaks, "\n", $msg);
echo $msg;
E pronto! É só!
Agora, para recuperar o formado de quebra de linha para uma caixa textarea, é preciso o inverso: converter de <br> para <\n>, que se faz com o código seguinte:
$breaks = array("<br>");
$msg = str_replace($breaks, "\n", $msg);
echo $msg;
E pronto! É só!
Nenhum comentário:
Postar um comentário