在 HTML 中,有两个字符需要进行特殊处理:<
和 &
。左尖括号用于开始标记;& 符号用于表示 HTML 实体。如果要将其用作字面量字符,您必须将其作为实体进行转义(例如,&lt;
、&amp;
)。
尤其是 & 符号,对于网页编写者来说尤其如此。如果您想撰写“AT&T”内容,则需要写上“AT&amp;T
”。您甚至需要对网址中“&”符号进行转义。因此,如果您想链接到:
http://images.google.com/images?num=30&q=larry+bird
您需要将网址编码为:
http://images.google.com/images?num=30&q=larry+bird
。href
属性中。毋庸置疑,这很容易忘记,并且很可能是在其他标记明确的网站上最常见的 HTML 验证错误来源。
借助 Markdown,您可以自然地使用这些字符,为您处理所有必要的转义。如果您使用 & 作为 HTML 实体的一部分,& 会保持不变;否则,& 会转换为 &
。
因此,如果您想在文章中添加版权符号,则可以编写:
©
而 Markdown 则置之不理。但是,如果您写的是:
AT&T
Markdown 会将其翻译成:
AT&T
同样,由于 Markdown 支持内嵌 HTML,因此如果您使用尖括号作为 HTML 标记的分隔符,Markdown 会对其进行处理。但是,如果您写的是:
4 < 5
Markdown 会将其翻译成:
4 < 5
不过,在 Markdown 代码 span 及代码块内,尖括号和 & 符号一律会自动编码。这样,您就可以使用 Markdown 轻松编写 HTML 代码。(这与原始 HTML 恰好相反,它是一种关于 HTML 语法的可怕格式,因为示例代码中的每个 <
和 &
都需要转义。)
反斜杠转义
Markdown 可让您使用反斜杠转义来生成文字字符,这些字符在 Markdown 的格式语法中具有特殊含义。例如,如果您想用实际星号(而不是 HTML <em>
标记)将字词括起来,可以在星号前使用反斜杠,就像这样:
\*literal asterisks\*
Markdown 为以下字符提供反斜杠转义:
\ backslash
` backtick
* asterisk
_ underscore
{} curly braces
[] square brackets
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark