4

SQLiteデータベースからHTMLを読み取るUIWebViewベースのiPhoneアプリケーションがあります。ユーザーは、キャリッジリターンを受け入れるUITextViewを介して入力された新しい情報を保存できます。UIWebViewでこれらのキャリッジリターン(改行)を正しく表示するにはどうすればよいですか?私はこのようなものを使ってみました:

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

ただし、テキストが改行として認識されているようには見えません。テキストはwebViewで1行連続で表示されます。コンソールでテキストを印刷すると、改行はそのままで表示されます。

上記のサンプルコードで\n、\ r、\ r \ nを使用しようとしましたが、成功しませんでした。ユーザーのテキストを間違って保存しているのですか、それとも表示側で間違ったことをしているのですか?

4

2 に答える 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 に答える