解码JavaScript中的HTML实体?
回答:
& -> `&` > -> `>`
任何小的库函数都可以解决这个问题?
回答:
我经常在工具带上有这个小功能:
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;
}
以上是 解码JavaScript中的HTML实体? 的全部内容, 来源链接: utcz.com/qa/412112.html