是的,我GOOGLE了它,并得到了令人惊讶的答案扑朔迷离。
一个页面说的是< > & "
是在(X)HTML中唯一保留的角色。毫无疑问,这是有道理的。
这页说 < > & " '
是在保留字符(X)HTML。有点混乱,但是没关系,这是有道理的了。
然后就是这个网页它说< > & " © ° £
和非打破空间(  
)是(X)HTML所有保留的字符,这是没有意义的,并且几乎增加了我的困惑。
知识渊博的人,究竟是谁做的知道这东西可以,澄清这在(X)HTML的保留字符其实是谁?
编辑 :另外,应该在所有的代码保留字符被包裹在当转义<pre>
标记? 或只是这三个- < > &
??
只有<
和&
需要进行转义。 里面的属性, "
或'
(取决于报价风格您使用属性值)需要被逃脱了。
<a href="#" onclick="here you can use ' safely"></a>
<a href="#" onclick='here you can use " safely'></a>
在XHTML 1.0规范规定http://www.w3.org/TR/2002/REC-xhtml1-20020801/#xhtml :
XHTML 1.0 [...]是三个HTML 4文档类型的再形成作为XML 1.0 [XML]的应用程序。
在XML 1.0规范规定http://www.w3.org/TR/2008/REC-xml-20081126/#syntax :
字符数据和标记:文本由混杂字符数据和标记的。 [...]的符号字符( &
)和左尖括号( <
)不得出现在他们的文字形式,如标记定界符时,或注释,处理指令,或CDATA段内除外。 如果在其他地方需要,它们都必须用数字字符引用或字符串进行转义“ &
”和“ <
”分别。 右尖括号( >
)可以使用字符串来表示“ >
”,并且必须为兼容性,即使用转义“ >
”或“当它出现在字符串中的字符参考]]>
”中的内容,当该字符串不表示一个CDATA段的结束。
这意味着,编写XHTML文档的文本部分时, 必须转义&,<和>。
你可以逃避很多更多,例如与uuml; 对于变音ü。 您可以也指出该文档编码例如UTF-8和写入字节序列0xc3bc代替以获得相同的变音ü。
当写部件部分(列“标签”)的文件,也有不同的规则。 你必须照顾”,“和很多有关注释,CDATA规则等等。还有哪些字符可以在元件使用和属性名的规则。你可以看看它在XML规范,但在结束它归结为:为元素和属性名称,使用字母,数字和“ - ”,不要使用“_”属性值,则必须逃脱与和(取决于报价样式)无论是“或”。
如果您使用的许多图书馆的一个写XML / XHTML文档,别人已经采取的这种关心,你只需要告诉库写入文本或元素。 所有转义是在后台进行的。&
通过编写“(X)HTML”,你要求(至少)两个不同的问题。
通过HTML的规则,用“HTML”,意思是任何HTML版本直至并包括HTML 4.01,只有“<”和“&”被保留。 这些规则有点复杂。 他们不应该不是真的出现,除了在他们的标签,实体引用,字符引用语法使用。 但到了正式的规则,他们可能会出现字面上例如在“A&B”或“A <B”的情况下(但A&B
是错误的正式,因此将A<B
XHTML的规则,基于XML的,是有些严格,更简单:“<”和“&”无条件地保留。
在ASCII引号“和ASCII撇号“没有在非常特殊的意义保留,只是一个引号中的属性值不能从字面上包含作为报价,即在字符‘foo’的字符串FOO不得包含”本身和在“富”字符串FOO不能包含'这样。
字符< > & "
由XML格式保留。
这意味着,只能使用<和>字符来定义标签( <mytag></mytag>
双引号(“)用于定义属性值( <mytag attribute="value" />
&符号是用来写实体( &
用于当你真正想要写符号,而不是&
)。 此外,当您在XML文档中写的网址,你应该使用&
,不只是&
: www.aaa.com?a=1&b=2
-是错误的; www.aaa.com?a=1&b=2
-好!
XHTML是基于XML的,所以我已经写了适用于XHTML。
© ° £
-这些是不保留字符。 这些是专为XHTML,而不是为XML定义的实体。
在XML中,你可以简单地写©
。 在XHMTL你也可以简单的写©,使用单位©
或数字实体&00A9;
。
除了其他的答案,可能有助于知道,也有禁止字符:在ASCII和ISO-8859-1所有的控制字符,除了TAB,LF和CR。
https://www.w3.org/MarkUp/html3/specialchars.html