Как я могу расшифровать мой HTML строку из:Decode HTML строка
<span>Björn</span>
в
<span>Björn</span>
в Swift 3?
Как я могу расшифровать мой HTML строку из:Decode HTML строка
<span>Björn</span>
в
<span>Björn</span>
в Swift 3?
Нужно ли сохранять теги <span>
при замене символа ö
? Один метод, предложенный Лео Дабусом в Convert Unicode symbol or its XML/HTML entities into its Unicode number in Swift, преобразует символы, которые включают в себя круговое отключение его через атрибутивную строку.
В 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
)
let string = "Björn is <em>great</em> name"
label.attributedText = string.htmlAttributedString
Это превращает Björn
в Björn
и выделяет курсивом в <em>...</em>
часть тоже ,
Если вы просто хотите конвертировать HTML-символы и вычистить HTML-теги (такие как ваш <span>
/</span>
), просто возьмите string
:
let string = "Björn is <em>great</em> name"
if let result = string.htmlAttributedString?.string {
print(result) // "Björn is great name"
}
Для предыдущих Swift версий см previous revision этого ответа.
спасибо большое !!! он работает – Kirill
«данные (с использованием: .utf8' в вашем примере бросает« использование неразрешенных идентификационных данных ». Любая идея, как это исправить? – afkatja
Привет, Роб и спасибо. Странно, я использую Swift 3 и все еще получаю эта ошибка. – afkatja