Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/10/2017, 12:21
Avatar de auttranadhie
auttranadhie
 
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 5 meses
Puntos: 8
Pregunta Creación de cadena con retorno de carro (\r) y nueva línea (\n) para inserción en SQL

Hola a todos:

Estoy teniendo un problema de lo más tonto pero al que no hallo la solución: en una tabla SQL (MySQL) tengo un campo de tipo texto con al que voy a introducir retornos de carro (\r) y nueva línea (\n). Cuando realizo una prueba en PhpMyAdmin se muestra la posibilidad de crear código PHP para añadirlo a un script. Por ejemplo:

INSERT INTO tbl_test (test_text) VALUES (\'ABC\\r\\nDEF\')

Así pues, implemento un script de prueba con un textarea y un input que envía los datos a otro script que lo procesa. Antes del procesado real hago que escriba la cadena del textarea con el fin de verificar los datos. Sigo el formato aconsejado por el PhpMyAdmin pero no consigo que PHP pinte o añada una barra invertida más delante de cada carácter no imprimible. Lo único que consigo es:

INSERT INTO tbl_test (test_text) VALUES (\'ABC\r\nDEF\')

La función que estoy utilizando para conseguir la cadena resultante es:

$_POST["MyTextarea"] = "\'".str_replace(chr(13).chr(10), "\\r\\n", $_POST["MyTextarea"]."\'");

Supongo que habrá alguna manera de poder añadir esas barras invertidas sin que desaparezcan. Lo he probado todo pero seguro que hay es algo muy tonto de hacer o alguna función que aún no he probado.

Como siempre agradezco por adelantado cualquier aportación o ayuda.

Un saludo para todos.
__________________
A. Uttranadhie