복붙노트

[HTML] 내가 어떻게 NSAttributedString은이 HTML 문자열로 변환합니까?

HTML

내가 어떻게 NSAttributedString은이 HTML 문자열로 변환합니까?

해결법


  1. 1.사용 dataFromRange : documentAttributes : HTML (NSHTMLTextDocumentType)에 문서 유형 속성 (NSDocumentTypeDocumentAttribute) 세트 :

    사용 dataFromRange : documentAttributes : HTML (NSHTMLTextDocumentType)에 문서 유형 속성 (NSDocumentTypeDocumentAttribute) 세트 :

    NSAttributedString *s = ...;
    NSDictionary *documentAttributes = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};    
    NSData *htmlData = [s dataFromRange:NSMakeRange(0, s.length) documentAttributes:documentAttributes error:NULL];
    NSString *htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];
    

  2. 2.이 @omz 대답의 빠른 4 변환하고, 희망은 여기에 사람이 착륙에 유용

    이 @omz 대답의 빠른 4 변환하고, 희망은 여기에 사람이 착륙에 유용

    extension NSAttributedString {
        var attributedString2Html: String? {
            do {
                let htmlData = try self.data(from: NSRange(location: 0, length: self.length), documentAttributes:[.documentType: NSAttributedString.DocumentType.html]);
                return String.init(data: htmlData, encoding: String.Encoding.utf8)
            } catch {
                print("error:", error)
                return nil
            }
        }
    }
    
  3. from https://stackoverflow.com/questions/5298188/how-do-i-convert-nsattributedstring-into-html-string by cc-by-sa and MIT license