html实体字符

HTML字符实体(character entities)

在 HTML 中,某些字符是预留的。

在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。

如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体。

如显示小于号:

< 
或 
<
  • 使用实体名而不是数字的好处是,名称易于记忆。
  • 坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。

常用字符实体

显示结果 描述 实体名称 实体编号
空格    
< 小于号 < <
> 大于号 > >
& 与号 & &
" 双引号 " "
' 单引号 '(IE不支持) '
¢ ¢
£ £ £
¥ 日圆 ¥ ¥
§ § §
© 版权 © ©
® 注册商标 ® ®
× 乘号 × ×
÷ 除号 ÷ ÷
更详细的字符实体可以看这里 https://blog.csdn.net/QXXXD/article/details/111043532

转义、反转义HTML实体字符

/**
 *  把html转义成HTML实体字符
 * @param str
 * @returns {string}
 * @constructor
 */
function htmlEncode(str) {
  var s = "";
  if (str.length === 0) {
    return "";
  }
  s = str.replace(/&/g, "&");
  s = s.replace(//g, ">");
  s = s.replace(/ /g, " ");
  s = s.replace(/\'/g, "'");//IE下不支持实体名称
  s = s.replace(/\"/g, """);
  return s;
}
/**
 *  转义字符还原成html字符
 * @param str
 * @returns {string}
 * @constructor
 */
function htmlRestore(str) {
  var s = "";
  if (str.length === 0) {
    return "";
  }
  s = str.replace(/&/g, "&");
  s = s.replace(/</g, "<");
  s = s.replace(/>/g, ">");
  s = s.replace(/ /g, " ");
  s = s.replace(/'/g, "\'");
  s = s.replace(/"/g, "\"");
  return s;
}
!

你可能感兴趣的:(html,前端)