Markdown对于特殊字符的自动转义

来自泡泡学习笔记
跳到导航 跳到搜索

在HTML中,有两个字符需要特殊处理: < 和 &。左尖括号用于开始标签;与号用于表示HTML实体。如果您想将它们作为字面字符使用,必须将它们转义为实体,例如 &lt; 和 &amp;。


特别是与号对于网络作者来说很棘手。如果您想写关于“AT&T”的内容,您需要写成“AT&amp;T”。甚至在URL中,您也需要转义与号。因此,如果您想链接到:

http://images.baidu.com/images?num=30&q=larry+bird

您需要将URL编码为:

http://images.baidu.com/images?num=30&amp;q=larry+bird


并将其放入锚点标签的href属性中。不用说,这很容易被忘记,而且很可能是除了良好标记的网站之外,HTML验证错误最常见的来源。


Markdown允许您自然地使用这些字符,并为您处理所有必要的转义。如果您将与号用作HTML实体的一部分,则保持不变;否则,它将被转换为&amp;。


所以,如果您想在文章中包含版权符号,可以写成:

&copy;

Markdown对于特殊字符的自动转义-1.png


Markdown会保持原样。但是如果您写成:

AT&T

Markdown会将其转换为:

AT&amp;T

同样,由于Markdown支持行内HTML,如果您使用尖括号作为HTML标签的分隔符,Markdown会将其视为标签。但是,如果您写成:

4 < 5

Markdown会将其转换为:

4 &lt; 5


但是,在Markdown代码块和代码段内部,尖括号和与号始终会自动编码。这使得使用Markdown来编写HTML代码变得容易。(与原始HTML相比,原始HTML是一种糟糕的HTML语法写作格式,因为您的示例代码中的每个单独的<和&都需要转义。)