HTML字符實體和轉義字符串用于處理特殊字符,確保它們在不同上下文中正確顯示或解析。以下是詳細總結:
HTML字符實體(Character Entities)
?定義?:用于在HTML中表示保留字符或不可見字符,避免與HTML語法沖突。
?格式?:
- ?實體名稱?:
&實體名;
(如<
表示<
) - ?實體編號?:
&#實體編號;
(如<
也表示<
)
?常見用途?:
- ?保留字符?:避免被解析為HTML代碼。
<
→<
>
→>
&
→&
- ?引號?:在屬性值中避免沖突。
"
→"
'
→'
(HTML5支持,建議用'
更兼容)
- ?特殊符號?:
- 空格保留:
(非斷空格) - 版權符號:
©
(?) - 注冊商標:
®
(?)
- 空格保留:
?示例?:
<p>5 > 3 & 3 < 5</p>
<!-- 顯示:5 > 3 & 3 < 5 -->
?
轉義字符串(Escape Sequence)
?定義?:在編程或標記語言中用特定符號表示特殊字符,避免語法錯誤。
?常見場景?:
- ?HTML屬性?:轉義引號。
<input value="He said "Hello"">
- ?URL編碼?:使用百分號轉義(如空格→
%20
)。 - ?編程語言?:使用反斜杠。
- JavaScript:
"He said \"Hello\""
或'It\'s easy'
- 換行符:
\n
,制表符:\t
- JavaScript:
關鍵區別
?場景? | ?HTML字符實體? | ?其他轉義字符串? |
---|---|---|
?用途? | 避免HTML解析沖突 | 處理編程語言中的特殊字符 |
?表示方式? | &實體名; 或 &#編號; | 反斜杠(如\" 、\n ) |
?示例? | < 表示 < | \" 表示雙引號 |
注意事項
- ?必須轉義的情況?:
- HTML內容中的
<
、>
、&
。 - 屬性值中的引號(與包裹屬性值的引號類型相同的情況)。
- HTML內容中的
- ?可選轉義?:
- Unicode字符可用十六進制(
<
)或十進制(<
)。 - 符號如?(
©
)可直接輸入,但實體更可靠。
- Unicode字符可用十六進制(
- ?避免錯誤?:
- URL中的
&
需轉義為&
,防止參數分隔錯誤。 - 注釋內避免
--
,防止提前結束。
- URL中的
總結
- ?HTML字符實體?是HTML特有的轉義機制,用于正確顯示特殊字符。
- ?轉義字符串?是通用概念,在不同環境(如JS、URL)中有不同實現。
- 合理使用兩者可避免語法錯誤,確保內容正確解析和顯示。