相关疑难解决方法(0)

如何检查字符串是否是有效的XML元素名称?

我需要PHP中的正则表达式或函数,它将验证字符串是一个很好的XML元素名称.

表格w3schools:

XML元素必须遵循以下命名规则:

  1. 名称可以包含字母,数字和其他字符
  2. 名称不能以数字或标点字符开头
  3. 名称不能以字母xml(或XML或Xml等)开头
  4. 名称不能包含空格

我可以编写一个基本的正则表达式来检查规则1,2和4,但它不会考虑所有允许的标点符号,也不会考虑第3条规则

\w[\w0-9-]
Run Code Online (Sandbox Code Playgroud)

友情更新

以下是格式良好的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)*
Run Code Online (Sandbox Code Playgroud)

还指定了单独的非标记化规则:

以字符串"xml"开头的名称,或者与任何匹配的字符串(('X'|'x')('M'|'m')('L'|'l'))的名称保留用于标准化在本规范的此版本或未来版本中.

php regex xml

21
推荐指数
3
解决办法
3万
查看次数

标签 统计

php ×1

regex ×1

xml ×1