如何从以下位置解码我的html字符串:
<span>Björn</span>
至
<span>Björn</span>
在Swift 3中?
<span>在替换ö符号时,您真的需要保留标签吗?Leo Dabus在“ 将Unicode符号或其XML / HTML实体转换为Swift中的Unicode数字”中提出了一种技术,该符号转换包括通过属性字符串来回转换符号。
<span>
ö
在Swift 4中:
extension String { /// Converts HTML string to a `NSAttributedString` var htmlAttributedString: NSAttributedString? { return try? NSAttributedString(data: Data(utf8), options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue], documentAttributes: nil) } }
如果要使用属性字符串(例如,用于中UILabel)
UILabel
let string = "Björn is <em>great</em> name" label.attributedText = string.htmlAttributedString
这也将转换Björn为Björn斜体<em>...</em>。
Björn
Björn
<em>...</em>
如果您只想转换HTML符号并去除HTML标签(例如<span>/ </span>),则只需抓住string:
</span>
string
let string = "Björn is <em>great</em> name" if let result = string.htmlAttributedString?.string { print(result) // "Björn is great name" }