亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

iOS實現(xiàn)去除html標簽的方法匯總

 更新時間:2017年10月20日 11:27:53   作者:隨風(fēng)  
相信大家在做網(wǎng)站的時候,經(jīng)常會遇到去除html標簽的問題,下面這篇文章主要給大家總結(jié)介紹了關(guān)于iOS如何實現(xiàn)去除html標簽的一些方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

我們在一些開發(fā)中,很有必要過濾掉用戶輸入的文本中的HTML標簽以防范XSS攻擊,本文將詳細介紹關(guān)于iOS去除html標簽的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細的介紹吧。

請求接口返回的數(shù)據(jù)里包含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;
}

還可以轉(zhuǎn)換為富文本

+ (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
  }
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,本文還有許多不足,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 詳解iOS開發(fā)獲取當前控制器的正取方式

    詳解iOS開發(fā)獲取當前控制器的正取方式

    這篇文章主要介紹了iOS開發(fā)獲取當前控制器的正取方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • iOS 9 更新之Safari廣告攔截器(Content Blocker)開發(fā)教程

    iOS 9 更新之Safari廣告攔截器(Content Blocker)開發(fā)教程

    這篇文章主要介紹了iOS 9 更新之Safari廣告攔截器(Content Blocker)開發(fā)教程的相關(guān)資料,需要的朋友可以參考下
    2015-08-08
  • iOS如何掃描HEIF格式的二維碼圖片

    iOS如何掃描HEIF格式的二維碼圖片

    這篇文章主要告訴大家iOS如何掃描HEIF格式的二維碼圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • iOS?button響應(yīng)流程圖文詳解

    iOS?button響應(yīng)流程圖文詳解

    這篇文章主要為大家介紹了iOS?button響應(yīng)流程圖文詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • IOS安裝包比Android容量大的原因

    IOS安裝包比Android容量大的原因

    這篇文章主要介紹了為什么IOS安裝包比Android容量大的原因,如果你是一個IOS或者安卓開發(fā)者,學(xué)習(xí)下相關(guān)知識吧。
    2018-02-02
  • IOS 指紋識別兩種方式詳解及實例

    IOS 指紋識別兩種方式詳解及實例

    這篇文章主要介紹了IOS 指紋識別兩種方式詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • ios版微信小程序跳一跳輔助

    ios版微信小程序跳一跳輔助

    這篇文章主要為大家詳細介紹了ios版微信小程序跳一跳輔助,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • iOS tableView右側(cè)索引視圖狀態(tài)獲取的方法實例

    iOS tableView右側(cè)索引視圖狀態(tài)獲取的方法實例

    tableView用于顯示一個垂直滾動的單元格數(shù)(通常為可重復(fù)使用的單元格)組成的視圖,這篇文章主要給大家介紹了關(guān)于iOS tableView右側(cè)索引視圖狀態(tài)獲取的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 最新評論