一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - iOS實現去除html標簽的方法匯總

iOS實現去除html標簽的方法匯總

2021-04-02 17:04隨風 IOS

相信大家在做網站的時候,經常會遇到去除html標簽的問題,下面這篇文章主要給大家總結介紹了關于iOS如何實現去除html標簽的一些方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

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

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

?
1
2
3
4
5
6
7
8
9
10
11
-(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;
}

也可以使用正則去掉

?
1
2
3
4
5
6
7
-(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;
}

還可以轉換為富文本

?
1
2
3
4
5
6
7
+ (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,來看我收集的幾種方法,其實都差不多

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
  }
}

總結

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

原文鏈接:https://blog.duicode.com/2458.html

延伸 · 閱讀

精彩推薦
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
主站蜘蛛池模板: 色一情一乱一伦 | 免费片在线观看 | 久久中文字幕亚洲精品最新 | 无遮挡免费h肉动漫在线观看 | 日本高清中文字幕 | 国产一级精品高清一级毛片 | 国产自拍专区 | 青青青国产成人久久111网站 | 91理论片午午伦夜理片久久 | 亚洲精品卡1卡二卡3卡四卡 | 国产欧美日韩专区毛茸茸 | 欧洲兽皇| 日韩一区二三区无 | 久久99热狠狠色AV蜜臀 | 秋霞黄色 | 精品99一区二区三区麻豆 | 大学生宿舍飞机 free | 精品无码国产AV一区二区三区 | tube4欧美4 | 日本视频一区在线观看免费 | 欧美z0z0人禽交 | 青青操在线观看 | 日本美女视频韩国视频网站免费 | 高清国产在线 | 国产99久久九九精品免费 | 乳 好大h| 亚欧精品在线观看 | 好男人资源免费观看 | 77成人影院| 高清视频在线观看+免费 | 欧美 亚洲 一区 | 欧美日韩国产一区二区三区在线观看 | 504神宫寺奈绪大战黑人 | 精品久久久久久久久久久久久久久 | 精品区2区3区4区产品乱码9 | 精品久久免费观看 | 天天做天天爱天天一爽一毛片 | 国产欧美日韩亚洲精品区2345 | 国产精品久久久久这里只有精品 | 男女性潮高片无遮挡禁18 | 免费人成在线观看视频播放 |