小编典典

我可以在 JavaScript 中转义 HTML 特殊字符吗?

all

我想通过 JavaScript 函数将文本显示为 HTML。如何在 JavaScript 中转义 HTML 特殊字符?有 API 吗?


阅读 66

收藏
2022-04-21

共1个答案

小编典典

这是一个几乎适用于所有网络浏览器的解决方案:

function escapeHtml(unsafe)
{
    return unsafe
         .replace(/&/g, "&")
         .replace(/</g, "&lt;")
         .replace(/>/g, "&gt;")
         .replace(/"/g, "&quot;")
         .replace(/'/g, "&#039;");
 }

如果您只支持现代网络浏览器(2020+),那么您可以使用新的replaceAll功能:

const escapeHtml = (unsafe) => {
    return unsafe.replaceAll('&', '&amp;').replaceAll('<', '&lt;').replaceAll('>', '&gt;').replaceAll('"', '&quot;').replaceAll("'", '&#039;');
}
2022-04-21