删除html标签并在UILabel Objective c中显示

AJ *_*jay 0 cocoa-touch objective-c ios

我在 api 响应中收到类似 Html 标签的  /br> p> 。我想将这些内容显示在UILabel

我所做的是:

NSString *STR_api = [NSString StingWithFormat@:"%@",[API_res valueforkey:@"description"]];
STR_api = [STR_api StringByreplacingaccurancesofString @"&nbsp" with string@""];
Run Code Online (Sandbox Code Playgroud)

我想要的是,在门户网站中它显示为粗体,段落是否可以通过格式化上述响应来显示在 UILabel 中

提前致谢

use*_*143 5

我从Larme 的答案中尝试了完美的解决方案

我找到了解决方案,效果很好。

NSString *strHTML = @"S.Panchami 01.38<br>Arudra 02.01<br>V.08.54-10.39<br>D.05.02-06.52<br> <font color=red><u>Festival</u></font><br><font color=blue>Shankara Jayanthi<br></font>";
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithData:[strHTML dataUsingEncoding:NSUTF8StringEncoding]
                                                            options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
                                                                      NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)}
                                                 documentAttributes:nil
                                                              error:nil];
NSLog(@"html: %@",strHTML);
NSLog(@"attr: %@", attrStr);
NSLog(@"string: %@", [attrStr string]);
NSString *finalString = [attrStr string];
NSLog(@"The finalString is - %@",finalString);
Run Code Online (Sandbox Code Playgroud)

打印的结果是

html

html: S.Panchami 01.38<br>Arudra 02.01<br>V.08.54-10.39<br>D.05.02-06.52<br> <font color=red><u>Festival</u></font><br><font color=blue>Shankara Jayanthi<br></font>
Run Code Online (Sandbox Code Playgroud)

细绳

string: S.Panchami 01.38
Arudra 02.01
V.08.54-10.39
D.05.02-06.52
Festival
Shankara Jayanthi
Run Code Online (Sandbox Code Playgroud)

最后的字符串

The finalString is - S.Panchami 01.38
Arudra 02.01
V.08.54-10.39
D.05.02-06.52
Festival
Shankara Jayanthi
Run Code Online (Sandbox Code Playgroud)

现在从字符串中删除  

选项1

NSRange range;
while ((range = [finalString rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
finalString = [finalString stringByReplacingCharactersInRange:range withString:@""];
Run Code Online (Sandbox Code Playgroud)

选项2

finalString = [finalString stringByReplacingOccurrencesOfString:@"&nbsp" withString:@""];
Run Code Online (Sandbox Code Playgroud)

从字符串中删除 HTML 标签