首页 文章

将HTML文本转换为普通文本在Objective-C中添加额外的Carraige返回

提问于
浏览
1

我有一个方法,可用于将HTML文本转换为普通文本 . 问题是,当我传递HTMl文本时,它会向普通文本添加额外的回车符 . 下面是导致问题的方法和示例文本 . 有人可以让我知道我缺少什么或需要为此做些什么 . 申请帮助 .

- (NSString *)flattenHTML {
    NSString *finalString = self;

    if ([self isEqualToString:kSNREmptyString] == NO) {
        NSAttributedString *attributeString = nil;
        NSData *data = [self dataUsingEncoding:NSUnicodeStringEncoding];

        if (nil != data) {
            NSDictionary *encodingDict = [NSDictionary dictionaryWithObject:@(NSUnicodeStringEncoding)
                                                                     forKey:@"CharacterEncoding"];
            attributeString = [[NSAttributedString alloc] initWithHTML:data
                                                    documentAttributes:&encodingDict];
            finalString = [attributeString string];
        }
    }

    return finalString;
}

示范文本:

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .

1 回答

  • 0

    也许,这段代码可以帮到你,它的工作正常 . 检查下面的代码 .

    - (void)viewDidLoad 
       {
          [super viewDidLoad];
          [self HtmltoText]
       }
    
    -(void)HtmltoText
    {
      NSString *Html_Str =[NSString stringWithFormat:@"<html><head>
                             <title>My First HTML</title></head><body>
                       <p>The HTML head element contains meta data.</p> 
                       <p>Meta data is data about the HTML document. 
    Break Next line.</p></body> </html>"]; NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData: [Html_Str dataUsingEncoding:NSUnicodeStringEncoding] options: @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes: nil error: nil ]; NSLog(@"Html To Normal %@ ",attributedString ); }

相关问题