我在查找HTML标记的有效字符时遇到问题。Valid HTML标记名称字符
在这个(Is the at-sign (@) a valid HTML/XML tag character?)回答它说:
之后再看看XML规格:
的标签包括:
'<' 名称(S属性)* S ? '>' A名称包括:
NameStartChar(NameChar)* A NameStartChar包括:
“:” | [A-Z] | “_”| [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] NameChar包含:
NameStartChar | “ - ”| “” | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] @符号是U + 0040
所以@符号是无效的NameChar或NameStartChar,因此 不是在一个名称中有效。
但是HTML语法页面(http://www.w3.org/TR/html-markup/syntax.html#tag-name),它只是说:
标签名称元素中使用开始标记和结束标记给予 元素的名称。 HTML元素的名称只能使用0-9,a-z和A-Z范围内的字符 。
什么是HTML标记名称中的valids字符? HTML4,XHTML和HTML5有什么区别?
有效的HTML字符是HTML规范中提到的那些字符。有效的XML字符是XML规范中提到的那些字符。什么是混乱? – JJJ 2013-03-03 11:44:32
这就是为什么我真的不喜欢StackOverflow:Google上最热门的搜索结果,但是由于某些模块决定关闭社区(或潜在社区)而导致一个非答案的封闭问题。自定义HTML标签现在已经成为一件事,官方的W3C规范草案指出标签名称的* XML *字符列表现在对HTML有效!关闭合法的问题真的让我感到厌烦,并说明我为什么不经常参加这个活动。例如,编写[universal-ish标记解析器](https://github.com/cubiclesoft/ultimate-web-scraper/blob/master/support/tag_filter.php)时,这个问题是有意义的。 – CubicleSoft 2018-02-08 15:29:30