当前位置: 首页 > 面试题库 >

解码JavaScript中的HTML实体?

西门靖琪
2023-03-14
问题内容

转换示例:

 & -> `&`
 >  -> `>`

任何小的库函数都可以解决这个问题?


问题答案:

我经常在工具带上有这个小功能:

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(/&lt;/g, "<")
              .replace(/&gt;/g, ">");
              //...
}

如果您不喜欢链式替换,则可以构建一个对象来存储您的实体,例如:

function htmlDecode (input) {
  var entities= {
    "&amp;": "&",
    "&lt;": "<",
    "&gt;": ">"
    //....
  };

  for (var prop in entities) {
    if (entities.hasOwnProperty(prop)) {
      input = input.replace(new RegExp(prop, "g"), entities[prop]);
    }
  }
  return input;
}


 类似资料:
  • 问题内容: 我在允许用户输入内容的CMS中工作。问题在于,当他们添加符号时,它可能无法在所有浏览器中正常显示。我想设置一个必须搜索的符号列表,然后将其转换为相应的html实体。例如 ®=> &=> ©=> ™=> 转换后,需要将其包装在标签中,从而导致: => 由于必须使用特定的字体大小和填充样式: JavaScript会是这样吗? “ [?]”的意思是说我不确定。 额外细节: 我想使用纯Java

  • 问题内容: 如何使用JavaScript或JQuery编码和解码HTML实体? 我希望它是: 问题答案: 您可以尝试类似: 更具交互性的版本:

  • 问题内容: 我需要解码HTML实体,例如来自&#246; 到ö和&amp; 至 &。 没有完成这项工作(从%表示法转换)。TextUtils具有HTMLencode,但没有HTMLdecode。 有解码HTML实体的功能吗? 问题答案: 该HTML的class是应该做的,但它是说,一切都没有支持。它总是对我有用,但是我从来没有过,所以我不能告诉你这个。尝试获取解码后的字符串。

  • 问题内容: 如何使用角度JS解码文本中的HTML实体。 我有绳子 我需要一种使用AngularJS对此进行解码的方法。我在这里找到了一种使用javascript做到这一点的方法,但是我敢肯定那对Angular无效。需要找回UI上的原始字符串 问题答案: 您可以使用 指令将其显示为html内容,并解码所有html实体。只要确保 在您的应用程序中包括依赖项即可。 演示 JAVASCRIPT HTML

  • 问题内容: 我正在使用Beautiful Soup 3解析一些HTML,但是它包含HTML实体,Beautiful Soup 3不会自动为我解码: 如何解码HTML实体以获得而不是。 问题答案: Python 3.4以上用途 FYI 已过时,并且应该在3.5中删除,尽管它是错误地遗忘的。它将很快从语言中删除。 Python 2.6-3.3 您可以HTMLParser.unescape()从标准库中

  • 问题内容: 我正在尝试解码一些HTML实体,例如变为。 我有一个古老的宝石(html_helpers),但它似乎已经被抛弃了两次。 有什么建议吗?我将需要在模型中使用它。 问题答案: HTMLEntities可以做到: