JSFiddle - React, Tailwind, and code Playground
by Philip Kahn
HTML
<p id="escaped"></p>
<p id="unescaped"></p>
CoffeeScript
unEscape = (str, strict = false) ->
###
# Take escaped text, and return the unescaped version
###
# Create a dummy element
element = document.createElement("div")
decodeHTMLEntities = (str) ->
if str and typeof str is "string"
unless strict is true
# escape HTML tags
str = escape(str).replace(/%26/g,'&').replace(/%23/g,'#').replace(/%3B/g,';')
else
str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '')
str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '')
element.innerHTML = str
if element.innerText
# Do we support innerText?
str = element.innerText
element.innerText = ""
else
# Firefox
str = element.textContent
element.textContent = ""
unescape(str)
decodeHTMLEntities(str)
# Test your string here
text = ""default_level""
$("#escaped").text text
$("#unescaped").text unEscape(text)