Mientras que las nuevas líneas (retorno de carro & avance de línea) está técnicamente autorizada en < de entrada> 's oculta Estado , deberían escaparse para compatibilidad con navegadores más antiguos. Puede hacerlo reemplazando todas las devoluciones de carro (\u000D
o \r
) y todas las alimentaciones de línea (\u000A
o \n
) con cadenas propietarias que su aplicación reconoce que son una devolución de carro o una nueva línea (y también escapadas, si están presentes en el original cuerda).
En pocas entidades de carácter no trabajo aquí, debido a la no conformidad de los navegadores, posiblemente, sabiendo
y
son nuevas líneas y despojarlas del valor.
Ejemplo
Por ejemplo, en PHP, si tuviera que echo
el valor pasado a un área de texto, que incluiría los saltos de línea (y cadena sin escape).
< área de texto> Un texto con una \ incluido
y una nueva línea con \ r \ n como el valor presentado </textarea>
Sin embargo, en PHP, si tuviera que echo
la valor al valor atributo de una etiqueta input> <, usted escaparía de las nuevas líneas con sus cadenas patentadas (por ejemplo, \r
y \n
), y escapará cualquier instancia de sus cadenas propietarias en el valor enviado.
< tipo de entrada = valor "oculta" = "Algunas de texto con un \\ incluido \ r \ ny una nueva línea \\ r \\ n como valor presentado">
Entonces, antes de utilizando el valor en otro lugar (insertando en una base de datos, enviando correos electrónicos, etc.), asegúrese de eliminar el valor enviado, si es necesario.
Reassurance
Como garantía adicional, que pidió el WHATWG, e Ian Hickson, editor de la especificación HTML Actualmente, respondió:
bfrohs tipo de pregunta acerca < entrada = hidden> - ¿Se permiten las alimentaciones de línea y las devoluciones de carro en el valor? Están específicamente prohibidos en estado de texto y estado de búsqueda, pero no se menciona el estado oculto. Y, si no, ¿existe una solución HTML aceptable para almacenar datos de formulario de un área de texto?
Hixie sí, se les permite // // IIRC por razones de compatibilidad puede que desee escapar de ellos, aunque como algunos navegadores ellos normalizan distancia // me olvido de que si nos fijamos o no // en la especificación
Source
Si un navegador compatible con el envío de formularios, es muy probable que también se dan cuenta de que ' ' y ' ' de nuevas líneas, y si incorrectamente elimina nuevas líneas, sino que también eliminará todas las apariciones de ' 'y' '. – 0b10011