美文网首页
iOS --- html标签

iOS --- html标签

作者: 鑫飞 | 来源:发表于2017-07-12 17:58 被阅读32次

    1.正常的html<>标签转换

    如:::<p>哈哈</p>
    -(NSString *)filterHTML:(NSString *)html
    {
       NSScanner * scanner = [NSScannerscannerWithString:html];
       NSString * text = nil;
       while([scanner isAtEnd]==NO)
        {
            //找到标签的起始位置
            [scanner scanUpToString:@"<"intoString:nil];
            //找到标签的结束位置
            [scannerscanUpToString:@">"intoString:&text];
           //替换字符
            html = [html stringByReplacingOccurrencesOfString:[NSStringstringWithFormat:@"%@>",text]withString:@""];
        }
        //    NSString * regEx = @"<([^>]*)>";
        //    html = [html stringByReplacingOccurrencesOfString:regEx withString:@""];
       return html;
    }
    

    2.和平常不一样的开头和结尾<p&gt这样的,如:

    &lt;p&gt;外观方面:国产Jee机,与该发动机匹配的是9速手自一体变速箱。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;
    

    这样的就要先转换成正常的<>标签
    故用下面方法

    #pragma mark -- 转义html中的标签
    - (NSString *)HTML:(NSString *)html{
        NSScanner *theScaner = [NSScanner scannerWithString:html];
        NSDictionary *dict = @{@"&amp;":@"&", @"&lt;":@"<", @"&gt;":@">", @"&nbsp;":@"", @"&quot;":@"\"", @"width":@"wid"};
        while ([theScaner isAtEnd] == NO) {
            for (int i = 0; i <[dict allKeys].count; i ++) {
                [theScaner scanUpToString:[dict allKeys][i] intoString:NULL];
                html = [html stringByReplacingOccurrencesOfString:[dict allKeys][i] withString:[dict allValues][i]];
            }
        }
        return html;
    }
    

    相关文章

      网友评论

          本文标题:iOS --- html标签

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