Como faço para salvar / quebras de linha exibir corretamente em um UIWebView para o iPhone?
Pergunta
Eu tenho um aplicativo para iPhone baseado em UIWebView que lê em HTML a partir de um banco de dados SQLite. O usuário pode salvar novas informações, introduzido através de um UITextView que aceita retornos de carro. Como faço para exibir esses retornos de carro (quebras de linha) corretamente no UIWebView? Eu tentei usar algo como isto:
NSString *HTMLData = [mySQLiteDataObject text];
HTMLData = [HTMLData stringByReplacingOccurrencesOfString:@"\\n"
withString:@"<br>"];
[webView loadHTMLString:HTMLData baseURL:nil];
Mas não se parece com o texto é reconhecido como tendo as quebras de linha: o texto é exibido em uma linha contínua na webView. Quando eu imprimir o texto no console, ele vem completamente com as quebras de linha intactos.
Eu tentei usar \ n, \ r e \ r \ n no código de exemplo acima, sem sucesso. Am I poupança de texto do usuário incorretamente, ou fazendo a coisa errada no lado da tela?
Solução
Eu posso ver duas barras invertidas em sua cadeia de pesquisa:. Você tem que substituir "\n"
, não "\\n"
para que ele funcione
Mas você realmente quer sanear sua entrada antes de carregá-lo na UIWebView. Pelo menos você tem para mascarar <,>, &, e".
Outras dicas
Se não me engano, quando substituir "\\n"
com uma tag de quebra HTML ele deve ser parecido com isto:
HTMLData = [HTMLData stringByReplacingOccurrencesOfString:@"\\n"
withString:@"<br />"];
Parece que estava faltando a barra na instrução break.