4

我有一个基于 UIWebView 的 iPhone 应用程序,它从 SQLite 数据库中读取 HTML。用户可以保存通过接受回车的 UITextView 输入的新信息。如何在 UIWebView 中正确显示这些回车(换行符)?我试过使用这样的东西:

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

但它看起来不像文本被识别为有换行符:文本在 webView 中以连续的一行显示。当我在控制台中打印出文本时,换行符完好无损。

我尝试在上面的示例代码中使用 \n、\r 和 \r\n,但没有成功。我是否错误地保存了用户的文本,或者在显示端做错了事情?

4

2 回答 2

2

我可以在您的搜索字符串中看到两个反斜杠:您必须替换"\n",而不是"\\n"使其工作。

但是您确实想在将输入加载到 UIWebView 之前对其进行清理。至少您必须屏蔽 <、>、& 和“。

于 2009-07-06T08:17:23.683 回答
0

如果我没记错的话,当您"\\n"用 HTML 中断标记替换时,它应该如下所示:

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

看来您在 break 语句中缺少正斜杠。

于 2009-07-06T02:32:37.823 回答