【问题标题】:How convert html code to char in javascript?如何在javascript中将html代码转换为char?
【发布时间】:2020-07-17 01:57:00
【问题描述】:

输入参数中有很多字符转换为HTML实体。

要使用它,我需要将 HTML 实体转换为字符以使其可读。

我如何在 JavaScript 中做到这一点(对双向转换感兴趣)?

例子:

html-code | char
-----------------
  a   |  a

【问题讨论】:

  • 您的输入最终是如何以这种方式转换的?是否需要接受任意的 HTML 编码字符,例如&?您是在浏览器中还是在节点中?没有足够的信息来准确回答这个问题。
  • 任何使用fromCharCode 解码HTML 实体的解决方案在一般情况下都是错误的。 一些字符碰巧编码为&<ascii charcter code>;,但很多没有。
  • @meagar 是的,如果需要支持所有实体,DOMParser 会更好。

标签: javascript html


【解决方案1】:

你可以试试我的代码。

var div=document.createElement("div");
div.innerHTML="a";
console.log(div.textContent);

【讨论】:

    【解决方案2】:

    只需删除前缀(“”)和后缀(“;”)并使用String.fromCharCode

    function entityToChar(ent){
      return String.fromCharCode(ent.slice(2,-1));
    }
    console.log(entityToChar("a"));

    如果您需要支持任意 HTML 实体,可以使用DOMParser API。

    function entityToChar(ent){
      return new DOMParser().parseFromString(ent, "text/html").documentElement.textContent;
    }
    console.log(entityToChar("&"));

    【讨论】:

      【解决方案3】:

      您可以为此使用 fromCharCode()

      var a = "a";
      
      var b = String.fromCharCode(a.slice(2,-1));
      
      console.log(b);

      【讨论】:

        【解决方案4】:

        https://www.w3schools.com/jsref/jsref_fromcharcode.asp

        使用fromCharCode()。但是你必须只使用数字。从你的例子中'&#97' 只是把'&#'String.fromCharCode(97) 删掉。

        【讨论】:

          猜你喜欢
          • 2011-10-03
          • 2021-08-22
          • 2021-10-03
          • 1970-01-01
          • 2020-09-29
          • 2012-02-25
          • 2022-12-02
          • 2021-11-22
          • 2013-08-11
          相关资源
          最近更新 更多