PHP - Problema al mostrar texto insertado en una base de datos mySQL

 
Vista:
Imágen de perfil de María de Alejandría
Val: 66
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema al mostrar texto insertado en una base de datos mySQL

Publicado por María de Alejandría (37 intervenciones) el 22/05/2019 12:14:36
Saludos

Cuento con una base de datos MySQL donde almaceno datos introducidos en un textarea que forma parte de un formulario.

La información se registra sin problemas. La cuestión es que cuando lo muestro por pantalla aparecen \n y \r en saltos de línea. Pongo un ejemplo:

Texto

Información

En pantalla aparece como

Texto\\r\\n\r\n\r\ninformación

La única forma que he encontrado de quitarlo es con <br> en el textarea antes de insertar la información en la base de datos, no obstante no me parece muy correcto ya que el usuario del sitio web al que pertenece la información y sea el encargado de registrarla no necesariamente tiene que saber de HTML. ¿Existe alguna manera de poder quitarlo?. Dejo el código que muestra la información en pantalla tal y como lo tengo ahora:

//Recorre los registros de la tabla correspondiente en la base de datos y muestra los datos del atributo "información"

echo '<h style="font-size:1.5vmax;" >'.nl2br(utf8_encode( $fila['informacion'] )).'</h>';

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema al mostrar texto insertado en una base de datos mySQL

Publicado por joel (1269 intervenciones) el 22/05/2019 15:17:03
Existe la instrucción nl2br() https://www.php.net/manual/en/function.nl2br.php que hace lo que necesitas...
Lo puedes utilizar antes de guardarlo en la base de datos (tendrás que hacer la inversa si el usuario quiere editar el contenido de la base de datos) o utilizarla antes de mostrar el contenido en la web.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema al mostrar texto insertado en una base de datos mySQL

Publicado por Kathyu (905 intervenciones) el 22/05/2019 17:04:15
Que extraño, yo igual manejo textareas y no necesito hacer nada al momento de recuperarlas.

En la base llevan los caracteres HTML pero cuando las recupero en la vista, aparecen así con saltos y sin nada de caracteres raros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de María de Alejandría
Val: 66
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema al mostrar texto insertado en una base de datos mySQL

Publicado por María de Alejandría (37 intervenciones) el 22/05/2019 20:16:57
Este código me ha servido

1
preg_replace('/\v+|\\\r\\\n/Ui','<br/>',nl2br( $fila['informacion'] ));

No sé por qué no lograba que me funcionase con nl2br, pero he logrado hacerlo con este código. Lo dejo aquí por si alguien lo necesita
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar