我需要PHP中的regex或函数来验证字符串是一个好的XML元素名称。
表格w3schools:
XML元素必须遵循以下命名规则:
我可以编写一个基本的正则表达式,它将检查规则1、2和4,但它不会考虑所有允许的标点符号,也不会考虑第3条规则。
\w[\w0-9-]友好更新
这里是格式良好的XML元素名称的更权威的来源
名称和标记
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]
Name ::=
NameStartChar (NameChar)*另外,还指定了一个单独的非令牌化规则:
以字符串"xml“开头的名称,或以任何与之匹配的字符串((‘X’分部‘x’)(‘M’区‘m’‘)(’L‘=’l‘’))开头的名称,都保留在本规范或未来版本的规范中用于标准化。
https://stackoverflow.com/questions/2519845
复制相似问题