its*_*_me 3 html xhtml html-encode html-entities
是的,我用Google搜索了,令人惊讶地得到了令人困惑的答案.
一页说这< > & "是(X)HTML中唯一的保留字符.毫无疑问,这是有道理的.
这个页面说的 < > & " '是(X)HTML中的保留字符.有点混乱,但没关系,这也是有道理的.
然后是这个页面说明< > & " © ° £和不间断的空格( )都是(X)HTML中的保留字符.这毫无意义,几乎增加了我的困惑.
知识渊博的人,实际上知道这些东西的人,可以澄清(X)HTML中的保留字符实际上是什么吗?
编辑:此外,如果包装在<pre>标签中代码中的所有保留字符应该被转义?或者只是这三个 - < > &??
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文档的文本部分时,您必须转义&,<和>.
你可以逃脱更多,例如ü 为你的变形金刚u.您还可以声明文档以UTF-8编码,并编写字节序列0xc3bc以获得相同的变音符号u.
在编写文档的元素部分(col."tags")时,有不同的规则.你必须处理","和许多关于注释,CDATA等的规则.还有规则可以在元素和属性名称中使用哪些字符.你可以在XML规范中查找它,但是在最后归结为:对于元素和属性名称,使用字母,数字和" - ";不要使用"_".对于属性值,您必须转义&和(取决于引用样式)'或'.
如果您使用众多库中的一个来编写XML/XHTML文档,那么其他人已经处理过这个问题,您只需要告诉库编写文本或元素.所有逃脱都是在后台完成的.
只有<和& 需要进行转义.内部属性"或'(取决于您用于属性值的引用样式)也需要进行转义.
<a href="#" onclick="here you can use ' safely"></a>
<a href="#" onclick='here you can use " safely'></a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5306 次 |
| 最近记录: |