HTML 特殊字元 (Character Entity)

在 HTML 文件中,有些字元是有特殊意義的保留字元,像是小於符號 < 和大於符號 > 是用來定義標籤的,如果你直接在 HTML 內容中輸入這些符號,瀏覽器可能會把它們誤認為是標籤的一部分而產生錯誤。

為了解決這個問題,我們可以使用 HTML 實體 (HTML Entity) 來表示這些特殊字元。

舉個例子,如果我們想在網頁上顯示「5 > 3」,直接寫會變成這樣:

<p>5 > 3</p>

雖然這個例子可能不會出錯,但當內容變複雜時就容易出問題。正確的寫法應該使用 Entity:

<p>5 &gt; 3</p>

實際呈現的效果:

5 > 3

HTML Entity 語法格式

HTML Entity 有兩種表示方式:

名稱格式: &entity_name;

數字格式: &#entity_number;

以小於符號 < 為例:

&lt;
<!-- 名稱格式 -->
&#60;
<!-- 十進位數字格式 -->
&#x3C;
<!-- 十六進位數字格式 -->

上面三種寫法都會顯示為 < 符號。

名稱格式比較好記,但不是所有 Entity 都有名稱,數字格式則是通用的。

常用的 HTML Entity

不可分割空白 (Non-breaking Space)

&nbsp; 是最常用的 Entity 之一,它代表一個不會被瀏覽器合併的空白字元。

在 HTML 中,多個連續空格會被合併成一個空格:

Hello World

實際顯示:Hello World

使用 &nbsp; 可以保留多個空格:

Hello&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;World

實際顯示:Hello     World

另外 &nbsp; 還有一個特性是它會讓前後的文字不會被換行分開,這在某些排版情況下很有用。

HTML 保留字元

這些字元在 HTML 中有特殊意義,如果要在內容中顯示它們,必須使用 Entity:

字元Entity 名稱Entity 數字說明
<&lt;&#60;小於 (less than)
>&gt;&#62;大於 (greater than)
&&amp;&#38;and 符號 (ampersand)
"&quot;&#34;雙引號 (double quote)
'&apos;&#39;單引號 (apostrophe)

舉個例子,如果你想在網頁上顯示一段 HTML 程式碼:

<p>HTML 標籤的語法是 &lt;tagname&gt;...&lt;/tagname&gt;</p>

實際顯示:

HTML 標籤的語法是 <tagname>...</tagname>

空格相關

字元Entity說明
 &nbsp;不可分割空白 (non-breaking space)
&ensp;半形空格 (en space)
&emsp;全形空格 (em space)
&thinsp;窄空格 (thin space)

引號與標點

字元Entity說明
"&ldquo;左雙引號
"&rdquo;右雙引號
'&lsquo;左單引號
'&rsquo;右單引號
«&laquo;左雙角引號
»&raquo;右雙角引號
&hellip;省略號
&ndash;短破折號 (en dash)
&mdash;長破折號 (em dash)

數學符號

字元Entity說明
×&times;乘號
÷&divide;除號
±&plusmn;正負號
&ne;不等於
&le;小於等於
&ge;大於等於
°&deg;度數符號
²&sup2;上標 2 (平方)
³&sup3;上標 3 (立方)
½&frac12;二分之一
¼&frac14;四分之一
¾&frac34;四分之三
&infin;無限大
&radic;根號
&sum;總和

貨幣符號

字元Entity說明
¢&cent;分 (美分)
£&pound;英鎊
¥&yen;日圓/人民幣
&euro;歐元

其他常用符號

字元Entity說明
©&copy;版權符號
®&reg;註冊商標
&trade;商標
&spades;黑桃
&clubs;梅花
&hearts;紅心
&diams;方塊
&larr;左箭頭
&rarr;右箭頭
&uarr;上箭頭
&darr;下箭頭
&bull;項目符號
&#10003;勾選符號
&#10007;叉叉符號

Entity 名稱有區分大小寫嗎?

有的!HTML Entity 名稱是有區分大小寫的 (case sensitive)。

例如 &copy; 會顯示 ©,但 &COPY;&Copy; 則不會被正確解析。

什麼時候該用 HTML Entity?

  1. 顯示 HTML 保留字元:當你需要在網頁內容中顯示 <>& 等符號時
  2. 顯示特殊符號:當你需要顯示版權符號、商標、數學符號等鍵盤上沒有的字元時
  3. 防止空格被合併:使用 &nbsp; 來確保多個空格不會被瀏覽器合併
  4. 確保跨平台相容性:有些特殊字元在不同系統可能顯示不同,使用 Entity 可以確保一致性