美文网首页
iOS中 HTML中字符实体转化为可直接显示字符

iOS中 HTML中字符实体转化为可直接显示字符

作者: Sh1mmer | 来源:发表于2019-07-09 11:00 被阅读0次

由于项目是web端和移动端通用的数据,有的时候有些字符web端显示正常.但到了移动端就会直接显示字符的实体名称.


屏幕快照 2019-07-09 上午10.46.59.png

挨个替换会麻烦
在这我们可以使用下面的方法来同意替换为显示结果

-(NSString*)attributedStringWithHTMLString:(NSString*)htmlString{
    NSDictionary *options = @{ NSDocumentTypeDocumentAttribute :NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute :@(NSUTF8StringEncoding) };
    NSData *data = [htmlString dataUsingEncoding:NSUTF8StringEncoding];
    NSAttributedString *string = [[NSAttributedString alloc] initWithData:data options:options documentAttributes:nil error:nil];
    return string.string;
}

网络请求下来的数据一般都是字典格式,我们可以在数据请求下来的时候直接将里面的数据全部转换下

//字典转字符串
-(NSString*)dictionaryToJson:(NSDictionary *)dic {
    NSError *parseError = nil;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
    
    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
//字符串转字典
-(NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString{
    if (jsonString == nil) {
        return nil;
    }
    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
    NSError *err;
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err];
    if(err) {
        NSLog(@"json解析失败:%@",err);
        return nil;
    }
    return dic;
}

直接将json传进来就可以了

[self dictionaryWithJsonString:[self attributedStringWithHTMLString:[self dictionaryToJson:jsonDic]]];

相关文章

  • iOS中 HTML中字符实体转化为可直接显示字符

    由于项目是web端和移动端通用的数据,有的时候有些字符web端显示正常.但到了移动端就会直接显示字符的实体名称. ...

  • iOS开发:与网页加载相关的字符串操作技巧

    需求1 有的html字符串中无法显示\,而是显示为"。这时需要将"等类似的字符转化为HTML中...

  • 字符实体

    HTML 中的预留字符必须被替换为字符实体。 HTML 实体 在 HTML 中,某些字符是预留的。 在 HTML ...

  • HTML 字符实体

    HTML中的预留字符必须被替换为字符实体 HTML 实体 在HTML中,某些字符是滞留的。 在HTML中不能使用小...

  • HTML实体

    实体字符,也就是HTML Entity。 实体字符通常用于在页面中显示一些特殊符号。 书写方法: &单词; &$数...

  • HTML字符实体

    在HTML中,某些字符是预留的。如果希望正确地显示预留字符,必须在HTML源代码中使用字符实体(character...

  • html字符实体

    HTML字符实体(character entities) 在 HTML 中,某些字符是预留的。 在 HTML 中不...

  • html字符实体

    什么是字符实体 在html中,有的字符是被html保留的,有的字符是有特殊含义的,这些字符不能再浏览器中直接显示出...

  • 终于找到了最详细系列之HTML字符实体

    HTML 字符实体 HTML 中的预留字符必须被替换为字符实体。一些在键盘上找不到的字符也可以使用字符实体来替换。...

  • web前端入门到实战:HTML字符实体与文本格式化标签

    HTML 字符实体/HTML 中的预留字符必须被替换为字符实体,一些在键盘上找不到的字符也可以使用字符实体来替换。...

网友评论

      本文标题:iOS中 HTML中字符实体转化为可直接显示字符

      本文链接:https://www.haomeiwen.com/subject/aubtkctx.html