iOS 移除所有Html 标签的参考

本文主要是通过正则介绍移除文本中所有的标签,具体参考代码如下:

/// 移除所有html标签
func deleteHTMLTagFor(Text t:String) -> String {
    return t.replacingOccurrences(of: "(?i)</?(\\w?)\\b[^<]*>", with: "", options: .regularExpression, range: nil)
}


/// 移除指定Html标签
/// - Parameters:
///   - tag: 标签名
///   - t: 文本
/// - Returns: String
func deleteHTMLTag(tag:String,andText t:String) -> String {
    return t.replacingOccurrences(of: "(?i)</?\(tag)\\b[^<]*>", with: "", options: .regularExpression, range: nil)
}

/// 获取文本中的地址
func getHTMLUrlFor(Text t:String) -> [String] {
    var _arrItem = [String]()
    
    let strRegex = "([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\/])+"
    if let regexps:NSRegularExpression = try? NSRegularExpression.init(pattern: strRegex, options: NSRegularExpression.Options(rawValue: 0)) {
        
        let stringRange = NSMakeRange(0, t.utf16.count)
        regexps.enumerateMatches(in: t,
                                 options: NSRegularExpression.MatchingOptions.init(rawValue: 0),
                                 range: stringRange) { (result:NSTextCheckingResult?, _:NSRegularExpression.MatchingFlags, _:UnsafeMutablePointer<ObjCBool>) in
            //可能为网址的字符串及其所在位置
            if let urlRange = result?.range {
                let _nt = NSString.init(string: t).substring(with: urlRange)
                _arrItem.append(_nt)
            }
        }
    }
    
    return _arrItem
}

调用及测试效果:

猜你喜欢

转载自blog.csdn.net/yimiyuangguang/article/details/127260453