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;
}
!
相關文章
相關標籤/搜索