1.在UIKit中的UILabel默认是可以展示emoji表情的,只是对于表情的编码方式有要求,微信中的表情信息的样式是这样的
<span class="emoji emoji1f380"></span>
这里是信息的文字内容<span class="emoji emoji3120e3"></span>
其中的 1f380 3120e3 就是两个表情,但这是16进制的编码方式,在label中是不会显示表情的,我们就需要转换编码方式其实就是unicode编码。
2.转换编码的之前需要把要转换的文本拿出来,下面的代码就是把上面的字符串传入。
- (NSString *)filterHTML:(NSString *)html
{
NSScanner * scanner = [NSScanner scannerWithString:html];
NSString * text = nil;
while([scanner isAtEnd] == NO)
{
[scanner scanUpToString:@"<" intoString:nil];
[scanner scanUpToString:@">" intoString:&text];
if ([html rangeOfString:@"<span"].location != NSNotFound)
{
//将文本中的表示emoji表情的字符拿出来
NSString * str = [html subStringFrom:@"e