Javascript 撇号解码

Javascript Apostrophe Decoding

我有一个像这样的字符串 javascript 消息:

var message = "merci d'ajouter";

并且我希望将此文本转换为此文本(解码):

var result = "merci d'ajouter";

我不需要任何替换方法,我想要一个适用于每个编码字符的通用 javascript 解决方案。提前致谢

这在原生中实际上是可能的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 库。这是一个很棒的库,可为您提供许多附加功能。

Underscore 提供了一个_unescape(string) 函数

The opposite of escape, replaces &, <, >, ", ` and ' with their unescaped counterparts.

_.unescape('Zebras, Elephants &amp; Penguins');
=> "Zebras, Elephants & Penguins"