# 原生 HTML

看起来像 HTML 标签的<>之间的文本被解析为原生 HTML 标签,并且将以 HTML 格式渲染而不会转义。标签和属性名称不限于当前 HTML 标签,因此可以使用自定义标签(甚至是 DocBook 标签)。
这是标签的语法:
标签名称 (opens new window)由 ASCII 字母后跟零个或多个 ASCII 字母,数字或连字符(-)组成。

属性 (opens new window)空格 (opens new window)属性名称 (opens new window)和可选属性值规范 (opens new window)组成。

属性名称 (opens new window)由 ASCII 字母,_:组成,后跟零个或多个 ASCII 字母,数字,_.:,或者 -。 (注意:这是限制为 ASCII 的 XML 规范。HTML5 较宽松。)

属性值规范 (opens new window)由可选的空格 (opens new window),一个=字符,可选的空格 (opens new window)属性值 (opens new window)组成。

属性值 (opens new window)不带引号的属性值 (opens new window)单引号属性值 (opens new window)双引用属性值 (opens new window)组成。

不带引号的属性值 (opens new window)是非空字符串,不包括空格 (opens new window)"'=<>,或 `

单引号属性值 (opens new window)由',零个或多个不包括'的字符和后面的'组成。

双引号属性值 (opens new window)由“,零个或多个不包括"的字符和最后一个"组成。

开始标签 (opens new window)<字符,标签名称 (opens new window),零个或多个属性 (opens new window),可选空格 (opens new window),可选/字符和>字符组成。

闭合标签 (opens new window)由字符串</标签名称 (opens new window),可选空格 (opens new window)和字符>组成。

HTML 注释 (opens new window)&lt;!-- + 文本 + -->组成,其中文本不以>->开头,不以 - 结尾,也不包含 -- 。(参考 HTML5 规范 (opens new window)。)

处理指令 (opens new window)由字符串<?,不包括?>的字符串和字符串?>组成。

声明 (opens new window)由字符串<!,一个由一个或多个大写 ASCII 字母组成的名称,空格 (opens new window),不包括>字符的字符串和字符>组成。

CDATA 部分 (opens new window)由字符串&lt;![CDATA[,不包括]]>的字符串和字符串]]>组成。

一个 HTML 标签 (opens new window)开始标签 (opens new window)闭合标签 (opens new window)HTML 注释 (opens new window)处理指令 (opens new window)声明 (opens new window)CDATA 部分 (opens new window)组成。

这里是一些打开的标签:

示例 632

Markdown HTML 效果
<a><bab><c2c>

<p><a><bab><c2c></p>

空元素:

示例 633

Markdown HTML 效果
<a/><b2/>

<p><a/><b2/></p>

允许出现空格 (opens new window) :

示例 634

Markdown HTML 效果
<a  /><b2
data="foo" >

<p><a  /><b2
data="foo" ></p>

带有属性值:

示例 635

Markdown HTML 效果
<a foo="bar" bam = 'baz <em>"</em>'
_boolean zoop:33=zoop:33 />

<p><a foo="bar" bam = 'baz <em>"</em>'
_boolean zoop:33=zoop:33 /></p>

可以使用自定义标签名称:

示例 636

Markdown HTML 效果
Foo <responsive-image src="foo.jpg" />

<p>Foo <responsive-image src="foo.jpg" /></p>

无效标签名称,不会被解析为 HTML:

示例 637

Markdown HTML 效果
<33> <__>

<p>&lt;33&gt; &lt;__&gt;</p>

无效的属性名:

示例 638

Markdown HTML 效果
<a h*#ref="hi">

<p>&lt;a h*#ref=&quot;hi&quot;&gt;</p>

无效的属性值:

示例 639

Markdown HTML 效果
<a href="hi'> <a href=hi'>

<p>&lt;a href=&quot;hi'&gt; &lt;a href=hi'&gt;</p>

无效的空格 (opens new window)

示例 640

Markdown HTML 效果
< a><
foo><bar/ >
<foo bar=baz
bim!bop />

<p>&lt; a&gt;&lt;
foo&gt;&lt;bar/ &gt;
&lt;foo bar=baz
bim!bop /&gt;</p>

空格 (opens new window)缺失:

示例 641

Markdown HTML 效果
<a href='bar'title=title>

<p>&lt;a href='bar'title=title&gt;</p>

闭合标签:

示例 642

Markdown HTML 效果
</a></foo >

<p></a></foo ></p>

闭合标签中属性无效:

示例 643

Markdown HTML 效果
</a href="foo">

<p>&lt;/a href=&quot;foo&quot;&gt;</p>

注释:

示例 644

Markdown HTML 效果
foo <!-- this is a
comment - with hyphen -->

<p>foo <!-- this is a
comment - with hyphen --></p>

示例 645

Markdown HTML 效果
foo <!-- not a comment -- two hyphens -->

<p>foo &lt;!-- not a comment -- two hyphens --&gt;</p>

无效注释:

示例 646

Markdown HTML 效果
foo <!--> foo -->

foo <!-- foo--->

<p>foo &lt;!--&gt; foo --&gt;</p>
<p>foo &lt;!-- foo---&gt;</p>

处理指令:

示例 647

Markdown HTML 效果
foo <?php echo $a; ?>

<p>foo <?php echo $a; ?></p>

声明:

示例 648

Markdown HTML 效果
foo <!ELEMENT br EMPTY>

<p>foo <!ELEMENT br EMPTY></p>

CDATA 部分:

示例 649

Markdown HTML 效果
foo <![CDATA[>&<]]>

<p>foo <![CDATA[>&<]]></p>

实体和数字字符引用保留在 HTML 属性中

示例 650

Markdown HTML 效果
foo <a href="&ouml;">

<p>foo <a href="&ouml;"></p>

反斜杠转义在 HTML 属性中不起作用:

示例 651

Markdown HTML 效果
foo <a href="\*">

<p>foo <a href="\*"></p>

示例 652

Markdown HTML 效果
<a href="\"">

<p>&lt;a href=&quot;&quot;&quot;&gt;</p>