Ne pas utiliser regex, juste l'analyser:
var d = document.createElement('div');
d.innerHTML = "check & ' \"";
console.log(d.innerText);//all done
Créer un élément (en mémoire, il ne montrera pas), et utiliser la propriété innerText
, ça va revenir l'équivalent texte (c.-à- convertit toutes les entités html en leurs caractères respectifs).
read this
Comme un côté note: la raison pour laquelle /["]/g
ne marcherait jamais parce que vous créez une classe de caractères/groupe: il y aura retourné aucun résultat 1 caractère du groupe, et non l'ensemble de la chaîne:
d.innerHTML.replace(/["]/g,'@');//"check @[email protected] ' \""
d.innerHTML.replace(/(")/g,'@');//"check & ' \""
Ces "codes" sont appelés _entities_, d'ailleurs. – user2428118