【问题标题】:Removing the rtf format and tags from nsMutableString从 nsMutableString 中删除 rtf 格式和标签
【发布时间】:2011-03-03 23:49:22
【问题描述】:

我正在尝试在 uiwebview 中显示 rtf 文件的内容。我通过将 rtf 的内容放入 nsmutablestring 并将其加载到 uiwebview 中来做到这一点。

问题在于rtf的内容,rtf标签和格式也是在nsmutablestring中传递的。所以整个内容都在uiwebview中和rtf格式一起显示出来了。

如何从 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 中。那么我该如何格式化呢?我应该使用任何类或框架吗?

【问题讨论】:

    标签: iphone iphone-sdk-3.0 uiwebview rtf nsmutablestring


    【解决方案1】:

    我还没有弄清楚是否/如何添加文本格式,但如果你想查看 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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      相关资源
      最近更新 更多