基本上,我將通過網站JSON API從原始HTML接收的HTML代碼轉換爲屬性字符串。這種努力去除了一些HTML特定的代碼,同時也保留了某種程度的格式,如下劃線/粗體文本等。但是,我遇到了一個問題,轉換爲屬性字符串的HTML代碼似乎忽略了任何空白行。使用NSHTMLTextDocumentType從HTML代碼創建的NSAttributedString將空行轉換爲空格
因此,例如:
- 步驟之一。
- 第二步。
- 第三步。
變爲:
- 步驟之一。 2.第二步。 3.第三步。
無論出於何種原因,它看起來好像是用新行代替空格。我似乎無法解決這個問題,但它使這個功能基本上無法使用。我寧願使用一個包含的API來處理轉換,因爲可用的幾個類別似乎無法處理所有的HTML,所以在單元格中留下了一些東西,這是我不能使用的。此外,我更喜歡使用其中一種包含的API,因爲它在未來的版本中不太可能被破解。有沒有什麼可以做到克服這一點,或者這是一個錯誤?對於它的價值,我使用的是設備上的iOS 7
NSMutableAttributedString* attrStr = [[NSMutableAttributedString alloc] initWithData:[post.comment dataUsingEncoding:NSUTF8StringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]} documentAttributes:nil error:nil];
NSRange rangeOfTitle = NSMakeRange(0,[attrStr length]);
[attrStr addAttribute: NSFontAttributeName value:[UIFont systemFontOfSize: 14.0f] range:rangeOfTitle];
你能展示你的例子的html代碼嗎? – Larme 2014-09-24 11:00:26
@大人當然可以。這是一個4chan評論。以下是從JSON API獲得的HTML副本的鏈接:http://pastebin.com/6k903qp7 – Terry 2014-09-24 11:13:05
我試過了你的代碼,沒有得到問題:http://imgur.com/4FwmUHU – Larme 2014-09-24 11:22:31