"符号的处理。">
美文网首页
Swift去除HTML标签

Swift去除HTML标签

作者: f2yu | 来源:发表于2021-01-12 14:24 被阅读0次

去除标签,考虑到标签的不完整情况,比如有<p>却没有</p>,实际上是对有效"<>"符号的处理。

func trimmingHTML() -> String {
    var str = self ///这里可以替换成想要处理的字符串,通过参数传进来即可
    var indexs: [Int] = []
    for (index, c) in str.enumerated() {
        if String(c) == "<" {
            if let i = indexs.last, str[i] == "<" {
                break
            }
            indexs.append(index)
        } else if String(c) == ">" {
            if let i = indexs.last, str[i] == ">" {
                indexs.removeLast()
            }
            indexs.append(index)
        }
    }
    if indexs.count > 0 {
        if let i = indexs.first, str[i] == ">" {
            indexs.removeFirst()
        }
        if let i = indexs.last, str[i] == "<" {
            indexs.removeLast()
        }
    }
    if indexs.count == 0 {
        return str
    }
    var needRemoves: [String] = []
    for i in 0...(indexs.count - 1) / 2 {
        let start = indexs[i * 2]
        let end = indexs[i * 2 + 1] + 1
        if let substring = str[start..<end] {
            needRemoves.append(String(substring))
        }
    }
    for n in needRemoves {
        str = str.replacingOccurrences(of: n, with: "")
    }
    return str
}

相关文章

网友评论

      本文标题:Swift去除HTML标签

      本文链接:https://www.haomeiwen.com/subject/eezsaktx.html