iphone - 从 nsMutableString 中删除 rtf 格式和标签

标签 iphone iphone-sdk-3.0 uiwebview rtf nsmutablestring

我正在尝试在 uiwebview 中显示 rtf 文件的内容。我通过将 rtf 的内容放入 nsmutablestring 并将其加载到 uiwebview 中来实现此目的。

问题在于 rtf 的内容、rtf 标签和格式也在 nsmutablestring 中传递。这样整个内容就以rtf格式一起显示在uiwebview中。

如何从 nsmutable 字符串中去除 rtf 格式和标签?我在网上搜索了很多,没有得到满意的结果。

代码如下:

UIWebView *webView = [[UIWebView alloc]init];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Home" ofType:@"rtf"]; 
NSMutableString *rtfString = [[NSMutableString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
NSMutableString *htmlString = [NSMutableString stringWithFormat:@"<font face=\"verdana\" size=\"2\" color=\"green\">%@</font>",rtfString];
[webView loadHTMLString:htmlString baseURL:nil];    

这是rtf文件的输出,在uiwebview中显示

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf290
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
{\colortbl;\red255\green255\blue255;}
\deftab560
 \pard\tx560\pardeftab560\ql\qnatural\pardirnatural

\f0\fs22 \cf0 \CocoaLigature0 This is Sample Text. Lorem ipsum dolor sit er elit lamet,    consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.\


\
\

 Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.\

\
\

This is sample text.\

\    
\
  This is sample TExt.}

段落之间的所有“\”都是空格,表示段落结束或段落开始。整个结果按原样显示在 uiwebview 中。那么我该如何格式化它呢?有什么我应该使用的类或框架吗?

最佳答案

我还没有弄清楚是否/如何添加文本格式,但如果您尝试查看 rtf,则应该使用 loadRequest 而不是 loadHTMLString

UIWebView *webView = [[UIWebView alloc]init];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Home" ofType:@"rtf"]; 
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];

关于iphone - 从 nsMutableString 中删除 rtf 格式和标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3045442/

相关文章:

iPhone 键盘声音

iphone - StringElement 派生控件不更新标题

iphone - NSMutableSets 的 NSMutableDictionary...整理一下

ios - 获取接触点位置

ios - 以编程方式创建 UIwebview 重新加载 + 返回/前进按钮

objective-c - 使用 webview 加载通知

iphone - 当维度在类实例化时未定义时,如何将 float 组声明为 Objective-C 中的类变量?

ios - iOS 中的 ImageView

iphone - 如何获得用户对使用位置信息的持续同意

iphone - 当 url 字符串参数有空格时,NSURL 值变为 null ..?