html实体字符

HTML字符实体(character entities)

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

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

若是但愿正确地显示预留字符,咱们必须在 HTML 源代码中使用字符实体。ide

如显示小于号:.net

&lt; 
或 
&#60;
  • 使用实体名而不是数字的好处是,名称易于记忆。
  • 坏处是,浏览器也许并不支持全部实体名称(对实体数字的支持却很好)。

经常使用字符实体

显示结果 描述 实体名称 实体编号
空格 &nbsp; &#160;
< 小于号 &lt; &#60;
> 大于号 &gt; &#62;
& 与号 &amp; &#38;
" 双引号 &quot; &#34;
' 单引号 &apos;(IE不支持) &#39;
&cent; &#162;
£ &pound; &#163;
¥ 日圆 &yen; &#165;
§ &sect; &#167;
© 版权 &copy; &#169;
® 注册商标 &reg; &#174;
× 乘号 &times; &#215;
÷ 除号 &divide; &#247;
更详细的字符实体能够看这里 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, "&amp;");
  s = s.replace(/</g, "&lt;");
  s = s.replace(/>/g, "&gt;");
  s = s.replace(/ /g, "&nbsp;");
  s = s.replace(/\'/g, "&#39;");//IE下不支持实体名称
  s = s.replace(/\"/g, "&quot;");
  return s;
}
/**
 *  转义字符还原成html字符
 * @param str
 * @returns {string}
 * @constructor
 */
function htmlRestore(str) {
  var s = "";
  if (str.length === 0) {
    return "";
  }
  s = str.replace(/&amp;/g, "&");
  s = s.replace(/&lt;/g, "<");
  s = s.replace(/&gt;/g, ">");
  s = s.replace(/&nbsp;/g, " ");
  s = s.replace(/&#39;/g, "\'");
  s = s.replace(/&quot;/g, "\"");
  return s;
}
!