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>
What's the right way to decode a string that has special HTML entities in it?
This is my favourite way of decoding HTML characters. The advantage of using this code is that tags are also preserved.
function decodeHtml(html) {
var txt = document.createElement("textarea");
txt.innerHTML = html;
return txt.value;
}
Example: http://jsfiddle.net/k65s3/
Input:
Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>
Output:
Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>
How to decode HTML entities using jQuery?
Security note: using this answer (preserved in its original form below) may introduce an XSS vulnerability into your application. You should not use this answer. Read lucascaro's answer for an explanation of the vulnerabilities in this answer, and use the approach from either that answer or Mark Amery's answer instead.
Actually, try
var encodedStr = "This is fun & stuff";
var decoded = $("<div/>").html(encodedStr).text();
console.log(decoded);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div/>
A plain JavaScript way to decode HTML entities, works on both browsers and Node
There are many similar questions and useful answers in stackoverflow but I can't find a way works both on browsers and Node.js. So I'd like to share my opinion.
For html codes like
<
>
'
and even Chinese characters.
I suggest to use this function. (Inspired by some other answers)
function decodeEntities(encodedString) {
var translate_re = /&(nbsp|amp|quot|lt|gt);/g;
var translate = {
"nbsp":" ",
"amp" : "&",
"quot": "\"",
"lt" : "<",
"gt" : ">"
};
return encodedString.replace(translate_re, function(match, entity) {
return translate[entity];
}).replace(/(\d+);/gi, function(match, numStr) {
var num = parseInt(numStr, 10);
return String.fromCharCode(num);
});
}
This implement also works in Node.js environment.
decodeEntities("哈哈 '这个'&"那个"好玩<>") //哈哈 '这个'&"那个"好玩<>
As a new user, I only have 1 reputation :(
I can't make comments or answers to existing posts so that's the only way I can do for now.
Edit 1
I think this answer works even better than mine. Although no one gave him up vote.
Implement HTML Entity Decode in react.js
You can use dangerouslySetInnerHTML
, but be sure you render only your input, not users. It can be great way to XSS.
Example of using:
const renderHTML = (rawHTML: string) => React.createElement("div", { dangerouslySetInnerHTML: { __html: rawHTML } });
And then in a component:
{renderHTML("<p> </p>")}
Can not html entity decode of string in laravel5 blade view
I did some quick testing. And the following example works on my side;
<script type="text/javascript">
var userName = {!! json_encode($user->name) !!};
console.log(userName);
</script>
When I check my console, the userName
is displayed properly.
Native JavaScript or ES6 way to encode and decode HTML entities?
There is no native function in the JavaScript API that convert ASCII characters to their "html-entities" equivalent.
Here is a beginning of a solution and an easy trick that you may like
Convert HTML entities in plain text to characters
To decode HTML Entities like of your example you could use the following code.
html_encoded = 'Motorists could be charged for every mile they drive to raise €35bn'
import html
html_decoded = html.unescape(html_encoded)
print(html_decoded)
How to decode HTML entities in Spark-scala?
You can use org.apache.commons.lang.StringEscapeUtils
with a help of UDF to achieve this.
import org.apache.commons.lang.StringEscapeUtils;
val decodeHtml = (html:String) => {
StringEscapeUtils.unescapeHtml(html);
}
val decodeHtmlUDF = udf(decodeHtml)
df.withColumn("title", decodeHtmlUDF($"title")).show()
/*
+--------------------+
| title|
+--------------------+
| Example sentence |
| Read the ‘Book’ |
|‘LOTR’ Is A Great...|
+--------------------+
*/
Related Topics
Displaying Pdf from Arraybuffer
Capture HTML Canvas as Gif/Jpg/Png/Pdf
Determine If an HTML Element'S Content Overflows
How to Correctly Iterate Through Getelementsbyclassname
Adjust Width of Input Field to Its Input
Why Does This Simple Jsfiddle Not Work
Remember and Repopulate File Input
Get Page Generated With JavaScript in Python
How to Clear the Contents of an Iframe from Another Iframe
How to Use a C++ Library from Node.Js
How to Get the Body'S Content of an Iframe in JavaScript
Is It Wrong to Place the ≪Script≫ Tag After the ≪/Body≫ Tag
Page Content Is Loaded With JavaScript and Jsoup Doesn't See It
How to Apply the Required Attribute to ≪Select≫ Fields in Html5
Difference Between ≪Script Src="Foo.Js"≫≪/Script≫ and ≪Script Src="Foo.Js"/≫