美文网首页
iOS 过滤html标签

iOS 过滤html标签

作者: 无名指的情怀 | 来源:发表于2019-05-31 10:30 被阅读0次

+ (NSString*)filterHTML:(NSString*)html {

    if(html.length<=0) {

        return@"";

    }

    NSString*emspStr1 =@"&emsp;";

    html = [htmlstringByReplacingOccurrencesOfString:emspStr1 withString:@"  "];

    NSString* regEx =@"&nbsp;";

    html = [htmlstringByReplacingOccurrencesOfString:regEx withString:@" "];

    NSString* regEx1 =@"<br>";

    html = [htmlstringByReplacingOccurrencesOfString:regEx1 withString:@"\n"];

    NSString* regEx2 =@"<br/>";

    html = [htmlstringByReplacingOccurrencesOfString:regEx2 withString:@"\n"];

    NSString* regEx3 =@"</p>";

    html = [htmlstringByReplacingOccurrencesOfString:regEx3 withString:@"\n"];

    NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]*>|"

                                                                                    options:0

                                                                                      error:nil];

    html=[regularExpretionstringByReplacingMatchesInString:html options:NSMatchingReportProgress range:NSMakeRange(0, html.length) withTemplate:@""];

    //    NSScanner * scanner = [NSScanner scannerWithString:html];

    //    NSString * text = nil;

    //    while([scanner isAtEnd]==NO)

    //    {

    //        //找到标签的起始位置

    //        [scanner scanUpToString:@"<" intoString:nil];

    //        //找到标签的结束位置

    //        [scanner scanUpToString:@">" intoString:&text];

    //        //替换字符

    //        html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>",text] withString:@""];

    //    }

    return[selfflattenHTML:html];

}

// 过滤后台返回字符串中的标签

+ (NSString*)flattenHTML:(NSString*)html {

    NSScanner*theScanner;

    NSString*text =nil;

    theScanner = [NSScannerscannerWithString:html];

    while([theScannerisAtEnd] ==NO) {

        // find start of tag

        [theScannerscanUpToString:@"<"intoString:NULL] ;

        // find end of tag

        [theScannerscanUpToString:@">"intoString:&text] ;

        // replace the found tag with a space

        //(you can filter multi-spaces out later if you wish)

        html = [htmlstringByReplacingOccurrencesOfString:

                [NSStringstringWithFormat:@"%@>", text]

                                               withString:@"/n"];

    }

    //    MidStrTitle = html;

    returnhtml;

}

相关文章

网友评论

      本文标题:iOS 过滤html标签

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