You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中是否有专用函数将HTML字符替换为ASCII字符?(replaceAll)

HTML实体转ASCII字符的专用方法

你目前通过多次调用replaceAll替换>和<的方式可行,但确实有更通用、简洁的专用方法,不用重复写替换逻辑:

1. 浏览器环境推荐方案(支持所有标准HTML实体)

利用浏览器的DOM解析能力,能一次性解码所有标准HTML实体(不止>和<),写一个复用函数即可:

function decodeHtmlEntities(str) {
  const tempDiv = document.createElement('div');
  tempDiv.innerHTML = str;
  return tempDiv.textContent;
}

把你的代码改成这样,就能统一处理所有字段:

PARAMS+= "&Ueberschrift=" + decodeHtmlEntities(ueberschrift);
PARAMS+= "&TextBaustein=" + decodeHtmlEntities(textBaustein);
PARAMS+= "&Beurteilung=" + decodeHtmlEntities(beurteilung);

原理是浏览器会自动将赋值给innerHTML的实体字符串解析为对应的原始字符,再通过textContent获取解码后的纯文本。

2. 无DOM环境方案(如Node.js)

如果是在没有浏览器DOM的环境中,可以用正则表达式批量替换目标实体:

function decodeHtmlEntities(str) {
  return str.replace(/(>|<)/g, (match) => {
    const entityMap = {
      '>': '>',
      '&lt;': '<'
      // 可按需添加其他实体,比如 '&amp;': '&'
    };
    return entityMap[match] || match;
  });
}

这种方法需要手动维护实体映射,但不需要依赖DOM环境。

内容的提问来源于stack exchange,提问作者Max Lindner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 05:20:23