Is there a faster way to decode html characters to a string than Html.fromHtml()?
What about org.apache.commons.lang.StringEscapeUtils's unescapeHtml(). The library is available on Apache site.
(EDIT: June 2019 - See the comments below for updates about the library)
Decode HTML entities in android
The Html class is supposed to do that, however it is said that everything is not supported. It always worked for me but I never had ö so I can't tell for this one.
Try Html.fromHtml(yourStr)
to get the decoded string.
HTML Entity Decode
You could try something like:
var Title = $('<textarea />').html("Chris' corner").text();console.log(Title);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
How can I decode HTML characters in C#?
You can use HttpUtility.HtmlDecode
If you are using .NET 4.0+ you can also use WebUtility.HtmlDecode
which does not require an extra assembly reference as it is available in the System.Net
namespace.
How do I decode HTML entities in Swift?
This answer was last revised for Swift 5.2 and iOS 13.4 SDK.
There's no straightforward way to do that, but you can use NSAttributedString
magic to make this process as painless as possible (be warned that this method will strip all HTML tags as well).
Remember to initialize NSAttributedString
from main thread only. It uses WebKit to parse HTML underneath, thus the requirement.
// This is a[0]["title"] in your case
let htmlEncodedString = "The Weeknd <em>‘King Of The Fall’</em>"
guard let data = htmlEncodedString.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 decodedString = attributedString.string
extension String {
init?(htmlEncodedString: String) {
guard let data = htmlEncodedString.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 encodedString = "The Weeknd <em>‘King Of The Fall’</em>"
let decodedString = String(htmlEncodedString: encodedString)
Android string encoding and html entities converting
to decode Html String you can use Html.fromHtml()
like
Html.fromHtml((String) htmlCode).toString();
if you want reverse
than you can use TextUtils.htmlEncode()
How to render HTML string as real HTML?
Check if the text you're trying to append to the node is not escaped like this:
var prop = {
match: {
description: '<h1>Hi there!</h1>'
}
};
Instead of this:
var prop = {
match: {
description: '<h1>Hi there!</h1>'
}
};
if is escaped you should convert it from your server-side.
The node is text because is escaped
The node is a dom node because isn't escaped
Related Topics
How to Stack Firebase Cloud Messaging Notifications When the Application Is Not Running
Android: Using HTML5 to Determine Geolocation in Webview with JavaScript API
Integrating Video File in Android App as App Background
App Crashes on Startup Due to Java.Lang.Illegalargumentexception: Column '_Id' Does Not Exist
Disabling Android's Chrome Pull-Down-To-Refresh Feature
Background-Attachment: Fixed Interfering with Background-Size
Turning on Wifi Using Wifimanager Stops to Work on Android 10
Right Align Text in Android Textview
Error: This Android Sdk Requires Android Developer Toolkit Version 22.6.1 or Above
How to Filter Listview Using Getfilter() in Baseadapter
Android-Textview Settext in HTML.Fromhtml to Display Image and Text
How to Get Raw Preview Data from Camera Object at Least 15 Frames Per Second in Android
Java.Lang.Nosuchmethoderror: No Static Method Setonapplywindowinsetslistener
Play Youtube HTML5 Embedded Video in Android Webview
Android Imageview Change Tint to Simulate Button Click