国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

詳解iOS實現去除html標簽的方法

2020-02-19 15:46:21
字體:
來源:轉載
供稿:網友

我們在開發中,有時候需要過濾掉用戶輸入文本中的html標記,這樣可以防止xss攻擊,本文是武林技術頻道小編和大家分享的詳解iOS實現去除html標簽的方法,供大家參考和學習。

請求接口返回的數據里包含html標簽,OC中去掉的方法之前做過,代碼如下

-(NSString *)filterHTML:(NSString *)html{  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 html;}

也可以使用正則去掉

-(NSString *)getZZwithString:(NSString *)string{ NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]*>|/n"                                         options:0                                          error:nil]; string=[regularExpretion stringByReplacingMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) withTemplate:@""]; return string;}

還可以轉換為富文本

+ (NSMutableAttributedString *)praseHtmlStr:(NSString *)htmlStr {  NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithData:[htmlStr dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute :@(NSUTF8StringEncoding)} documentAttributes:nil error:nil];  [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:NSMakeRange(0, attributedString.length)];  [attributedString addAttribute:NSForegroundColorAttributeName value:CommonColor(Color333333) range:NSMakeRange(0, attributedString.length)];   return attributedString;}

但是這次使用的是swift,來看我收集的幾種方法,其實都差不多

func removeHTML(htmlString : String)->String{    return htmlString.replacingOccurrences(of: "<[^>]+>", with: "", options: .regularExpression, range: nil)} extension String {  func deleteHTMLTag(tag:String) -> String {    return self.replacingOccurrences(of: "(?i)</?/(tag)//b[^<]*>", with: "", options: .regularExpression, range: nil)  }    func deleteHTMLTags(tags:[String]) -> String {    var mutableString = self    for tag in tags {      mutableString = mutableString.deleteHTMLTag(tag: tag)    }    return mutableString  }    ///去掉字符串標簽  mutating func filterHTML() -> String?{    let scanner = Scanner(string: self)    var text: NSString?    while !scanner.isAtEnd {      scanner.scanUpTo("<", into: nil)      scanner.scanUpTo(">", into: &text)      self = self.replacingOccurrences(of: "/(text == nil ? "" : text!)>", with: "")    }    return self  }}

總結

以上就是詳解iOS實現去除html標簽的方法的全部內容,希望本文的內容對大家的學習或工作有一定的參考學習價值,感謝您對武林技術頻道的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 垦利县| 丰都县| 丰城市| 诸城市| 鲁山县| 靖边县| 乌海市| 原平市| 承德县| 正定县| 阿拉善盟| 弋阳县| 嵊州市| 海伦市| 五河县| 昌黎县| 克山县| 名山县| 汽车| 云霄县| 钟山县| 临汾市| 贵定县| 昂仁县| 青铜峡市| 游戏| 隆林| 清涧县| 沂源县| 通渭县| 葵青区| 儋州市| 灌南县| 卓尼县| 博罗县| 和硕县| 买车| 荔浦县| 虞城县| 怀远县| 迁西县|