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 @" " with string@""];
Run Code Online (Sandbox Code Playgroud)
我想要的是,在门户网站中它显示为粗体,段落是否可以通过格式化上述响应来显示在 UILabel 中
提前致谢
我从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:@" " withString:@""];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2766 次 |
| 最近记录: |