去除转义字符(包括HTML)

场景

正常的替换不能识别反斜杠\

-(NSString *)replacString:(NSString *)res{
    NSMutableString *responseString = [NSMutableString stringWithString:res];
    NSString *character = nil;
    for (int i = 0; i < responseString.length; i ++) {
        character = [responseString substringWithRange:NSMakeRange(i, 1)];
        if ([character isEqualToString:@"\\"] || [character isEqualToString:@"\""])
            [responseString deleteCharactersInRange:NSMakeRange(i, 1)];
    }
    return responseString;
}
//将 &lt 等类似的字符转化为HTML中的“<”等
- (NSString *)htmlEntityDecode:(NSString *)string
{
    string = [string stringByReplacingOccurrencesOfString:@"&quot;" withString:@"\""];
    string = [string stringByReplacingOccurrencesOfString:@"&apos;" withString:@"'"];
    string = [string stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"];
    string = [string stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"];
    string = [string stringByReplacingOccurrencesOfString:@"&amp;" withString:@"&"]; // Do this last so that, e.g. @"&amp;lt;" goes to @"&lt;" not @"<"
    
    return string;
}
posted @ 2019-06-13 16:07  wj0920wjx  阅读(3421)  评论(0编辑  收藏  举报