我有一条类似于此的字符串javascript消息:
var message = "merci d'ajouter";我想把这段文字转换成这个(解码):
var result = "merci d'ajouter";我不需要任何替换方法,我想要一个通用的javascript解决方案,为每个编码的字符工作。提前感谢
发布于 2016-06-22 15:28:58
这在本机JavaScript中实际上是可能的。
请记住,IE8和更早的版本不支持textContent,因此我们必须为它们使用innerText。
function decode(string) {
var div = document.createElement("div");
div.innerHTML = string;
return typeof div.textContent !== 'undefined' ? div.textContent : div.innerText;
}
var testString = document.getElementById("test-string");
var decodeButton = document.getElementById("decode-button");
var decodedString = document.getElementById("decoded-string");
var encodedString = "merci d'ajouter";
decodeButton.addEventListener("click", function() {
decodedString.innerHTML = decode(encodedString);
});<h1>Decode this html</h1>
<p id="test-string"></p>
<input type=button id="decode-button" value="Decode HTML"/>
<p id="decoded-string"></p>
一个更简单的解决方案是使用Underscore.js库。这是一个非常棒的库,为您提供了许多附加功能。
下划线提供_unescape(string)函数
与转义相反的是,用未转义的对应物替换&,<,>,‘,’和‘。
_.unescape('Zebras, Elephants & Penguins');
=> "Zebras, Elephants & Penguins"https://stackoverflow.com/questions/37971899
复制相似问题