iOS -- 转义html中的标签

NSInteger width = self.webView.frame.size.width * 0.95;

方法一 : 

NSString *string = [NSString stringWithFormat:@"<head><style>img{max-width:%ldpx !important;}ul {margin:0; padding:0; text-align:left;}</style><head>", (long)width];

方法二 :

NSString *string = [NSString stringWithFormat:@"<head><style>body, div, span, a, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, p, th, td, pre, form, fieldset, legend, input, button, textarea, select {margin:0;padding:5;}img{max-width:%ldpx !important;}li {list-style:none;}</style><head>", (long)width];

NSString *newHtml = [self HTML:model.body];

NSString *str = [NSString stringWithFormat:@"%@%@", string, newHtml];

[self.webView loadHTMLString:str baseURL:nil];

注 : li {list-style:none;} //去掉li的小黑点

        img{max-width:%ldpx !important;} // 图片宽度自定义

        ul {margin:0; padding:0; text-align:left;} // 左对齐

#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;

}

posted @ 2017-02-15 10:59  二十几岁的某一天  阅读(1570)  评论(0)    收藏  举报