¿Cómo puedo guardar / línea de la pantalla se rompe adecuadamente en un UIWebView para el iPhone?

StackOverflow https://stackoverflow.com/questions/1085140

Pregunta

Tengo una aplicación de iPhone basado en UIWebView que lee en HTML a partir de una base de datos SQLite. El usuario puede guardar información nueva, introducida a través de un UITextView que acepta retornos de carro. ¿Cómo puedo mostrar estos retornos de carro (saltos de línea) correctamente en el UIWebView? He intentado usar algo como esto:

NSString *HTMLData = [mySQLiteDataObject text]; 
HTMLData = [HTMLData stringByReplacingOccurrencesOfString:@"\\n"
  withString:@"<br>"];  
[webView loadHTMLString:HTMLData baseURL:nil];

Sin embargo, no parece que el texto es reconocido por tener saltos de línea: el texto se muestra en una línea continua en la web View. Al imprimir el texto en la consola, se trata a través de la línea rompe intacta.

He intentado usar \ n \ r \ r \ n en el código de ejemplo anterior, sin éxito. ¿Estoy ahorrando texto del usuario de forma incorrecta, o haciendo las cosas mal en el lado de la pantalla?

¿Fue útil?

Solución

Puedo ver dos barras invertidas en la cadena de búsqueda: Usted tiene que reemplazar "\n", no "\\n" para que funcione

.

Pero realmente quiere desinfectar su entrada antes de cargarlo en el UIWebView. Por lo menos hay que enmascarar <,>, &, y".

Otros consejos

Si no me equivoco, cuando se reemplaza "\\n" con una etiqueta de salto HTML que debe ser similar al siguiente:

 HTMLData = [HTMLData stringByReplacingOccurrencesOfString:@"\\n"
  withString:@"<br />"]; 

Parece que estaba perdiendo la barra diagonal en la sentencia break.

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