Pregunta

Ciertos campos en nuestro MySQL DB parecen contener caracteres Newline para que si selecciono en ellos, algo como lo siguiente se devolverá para una sola llamada SQL:

Life to be sure is nothing much to lose

But young men think it is and we were young

Si quiero preservar los descansos de línea al mostrar este campo en una página web, ¿es la solución estándar para escribir un script para reemplazar ' n r' con una etiqueta BR HTML o hay una mejor manera?

¡Gracias!

¿Fue útil?

Solución

Asumiendo PHP aquí ...

nl2br() agrega <br /> para cada \n. No olvide escapar del contenido primero, para evitar ataques XSS. Vea abajo:

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

Otros consejos

HTML es un margen idioma. Independientemente de cuántos borde de línea coloque en el código fuente, no verá nada de él en la presentación (por supuesto, suponiendo que no esté utilizando <pre> o white-space:pre). HTML usa el <br> elemento para representar un rompiente de línea. Entonces, básicamente, necesitas convertir los borros de línea reales e invisibles denotados por los personajes xA (Newline, Linefeed, LF, \n) y/o xD (Retorno del carro, CR, \r) por un html <br> elemento.

En la mayoría de los lenguajes de programación, puedes hacer esto por un Cadena reemplazar de "\n" por "<br>".

Puedes envolverlo en <pre> .. </pre>.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top