Wie kann ich entschlüsseln meinen HTML-String aus:Decode HTML-String
<span>Björn</span>
zu
<span>Björn</span>
in Swift 3?
Wie kann ich entschlüsseln meinen HTML-String aus:Decode HTML-String
<span>Björn</span>
zu
<span>Björn</span>
in Swift 3?
Müssen Sie wirklich die <span>
Tags erhalten, während Sie das ö
Symbol ersetzen? Eine Technik, die von Leo Dabus in Convert Unicode symbol or its XML/HTML entities into its Unicode number in Swift vorgeschlagen wurde, wandelt die Symbole um, indem sie sie durch eine attributierte Zeichenfolge umläuft.
In 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)
}
}
Wenn Sie eine zugeschrieben Zeichenfolge wollen (zum Beispiel zur Verwendung in einem UILabel
)
let string = "Björn is <em>great</em> name"
label.attributedText = string.htmlAttributedString
Diese Björn
-Björn
umwandelt und italicizes den <em>...</em>
Teil auch .
Wenn Sie nur die HTML-Symbole umwandeln möchten und die HTML-Tags Streifen aus (wie Ihr <span>
/</span>
), nehmen Sie einfach den string
:
let string = "Björn is <em>great</em> name"
if let result = string.htmlAttributedString?.string {
print(result) // "Björn is great name"
}
Für Stand der Swift-Versionen finden Sie previous revision von dieser Antwort.
vielen Dank !!! es funktioniert – Kirill
Die 'Daten (mit: .utf8' Stück in Ihrem Beispiel löst' Verwendung von unaufgelösten Bezeichner 'Daten''. Irgendeine Idee, wie Sie das beheben? – afkatja
Hallo Rob und danke. Seltsam, ich benutze Swift 3 und immer noch Dieser Fehler – afkatja