Pergunta

Certos campos em nosso mysql db parecem conter caracteres de nova linha para que, se eu selecionar, algo como o seguinte será devolvido para uma única chamada SQL:

Life to be sure is nothing much to lose

But young men think it is and we were young

Se eu quiser preservar as quebras da linha ao exibir esse campo em uma página da web, a solução padrão é escrever um script para substituir ' n r' por uma tag BR HTML ou existe uma maneira melhor?

Obrigado!

Foi útil?

Solução

Assumindo PHP aqui ...

nl2br() adiciona <br /> para cada \n. Não se esqueça de escapar do conteúdo primeiro, para evitar ataques XSS. Veja abaixo:

<?php echo nl2br(htmlspecialchars($content)); ?>

Outras dicas

Html é a Markup Língua. Independentemente de quantos quebras de linha você coloca no código -fonte, você não verá nada de volta na apresentação (é claro, assumindo que você não está usando <pre> ou white-space:pre). HTML usa o <br> elemento para representar um linebreak. Então você basicamente precisa converter os quebra -linhas reais e invisíveis indicados pelos personagens xA (Newline, LineFeed, LF, \n) e/ou xD (Retorno de carruagem, CR, \r) por um html <br> elemento.

Na maioria das linguagens de programação, você pode fazer isso por um String substitua do "\n" por "<br>".

Você pode envolvê -lo <pre> .. </pre>.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top