这个答案最近针对Swift 5.2和iOS 13.4 SDK进行了修订。
没有做到这一点的直接方法,但是您可以使用
NSAttributedString魔术使此过程尽可能轻松(请注意,此方法也将剥离所有HTML标记)。
记住 仅从主线程 初始化NSAttributedString
。它使用WebKit解析下面的HTML,因此是必需的。
// This is a[0]["title"] in your caselet enpredString = "The Weeknd <em>‘King Of The Fall’</em>"guard let data = htmlEnpredString.data(using: .utf8) else { return}let options: [NSAttributedString.documentReadingOptionKey: Any] = [ .documentType: NSAttributedString.documentType.html, .characterEncoding: String.Encoding.utf8.rawValue]guard let attributedString = try? NSAttributedString(data: data, options: options, documentAttributes: nil) else { return}// The Weeknd ‘King Of The Fall’let depredString = attributedString.stringextension String { init?(htmlEnpredString: String) { guard let data = htmlEnpredString.data(using: .utf8) else { return nil } let options: [NSAttributedString.documentReadingOptionKey: Any] = [ .documentType: NSAttributedString.documentType.html, .characterEncoding: String.Encoding.utf8.rawValue ] guard let attributedString = try? NSAttributedString(data: data, options: options, documentAttributes: nil) else { return nil } self.init(attributedString.string) }}let enpredString = "The Weeknd <em>‘King Of The Fall’</em>"let depredString = String(htmlEnpredString: enpredString)


