Estoy extrayendo contenido de un DB que se ha desinfectado utilizando mysql_real_escape_string. En consecuencia, los nuevos caracteres de línea ahora aparecen como "\ n". El problema es que este contenido se muestra a los usuarios dentro de una etiqueta pre> <, por lo que no puedo reemplazar \ n con < br />, por ejemplo.reemplazar n con el nuevo código de carácter de línea real
Supongo que podría reemplazar \ n con el código de caracteres utf8 real antes de insertar el resultado dentro del < pre>.
¿Hay alguien que esté buscando ayuda aquí? No usar mysql_real_escape_string no es realmente una opción debido a la política de seguridad.
Gracias.
estoy un poco desconcertado, normalmente los datos deben ser devueltos sin escapar. La forma en que lo describes es como si los datos pasaran por mysql_real_escape_string() dos veces antes de ser almacenados –
Parece que saneaste los datos escapándolos dos veces. Si coloca 'mysql_real_escape_string (" two \ nlines ");', habrá un carácter '\ n' real en la base de datos. Si obtiene datos, no debería haber necesidad de reemplazar '\ n' de nuevo. Si lo mantienes así, espera problemas con "y" también. – mvds
tal vez seas víctima de la ridícula funcionalidad "magic_quote" en php: asegúrate de desactivarla, solo confunde a los que conocen el concepto de escape. – mvds