& -> `&` > -> `>`
任何小的库函数都可以解决这个问题?
我经常在工具带上有这个小功能:
function htmlDecode(input){ var e = document.createElement('div'); e.innerHTML = input; return e.childNodes[0].nodeValue; } htmlDecode("&"); // "&" htmlDecode(">"); // ">"
它将适用于所有HTML实体。
编辑: 由于您不在DOM环境中,我认为您将必须通过“艰苦”的方式做到这一点:
function htmlDecode (input) { return input.replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">"); //... }
如果您不喜欢链式替换,则可以构建一个对象来存储您的实体,例如:
function htmlDecode (input) { var entities= { "&": "&", "<": "<", ">": ">" //.... }; for (var prop in entities) { if (entities.hasOwnProperty(prop)) { input = input.replace(new RegExp(prop, "g"), entities[prop]); } } return input; }