iPhone의 uiwebview에서 라인을 제대로 저장/디스플레이하는 방법은 무엇입니까?

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

문제

SQLITE 데이터베이스에서 HTML에서 읽는 UIWebView 기반 iPhone 응용 프로그램이 있습니다. 사용자는 운송 반환을 수락하는 UitextView를 통해 입력 한 새 정보를 저장할 수 있습니다. UIWebView에 이러한 캐리지 리턴 (라인 브레이크)을 올바르게 표시하려면 어떻게합니까? 나는 다음과 같은 것을 사용해 보았습니다.

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

그러나 텍스트가 줄이 끊어진 것으로 인식되는 것처럼 보이지 않습니다. 텍스트는 WebView의 한 연속선으로 표시됩니다. 콘솔에서 텍스트를 인쇄하면 라인이 손상되지 않은 상태로 제공됩니다.

위의 예제 코드에서 n, r 및 r n을 사용해 보았습니다. 사용자의 텍스트를 잘못 저장하거나 디스플레이 측에서 잘못된 일을하고 있습니까?

도움이 되었습니까?

해결책

검색 문자열에서 두 개의 백 슬래시가 표시됩니다. 교체해야합니다. "\n", 아니다 "\\n" 작동하게합니다.

하지만 당신 실제로 입력을 소독하고 싶습니다 UIWebView에로드하기 전에. 적어도 당신은 <,>, & 및 "를 가리시켜야합니다.

다른 팁

내가 착각하지 않으면 교체 할 때 "\\n" HTML 브레이크 태그를 사용하면 다음과 같이 보일 것입니다.

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

브레이크 문에서 앞으로 슬래시가 놓친 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top