允许我的路线中有字母Yii 2

允许我的路线中有字母Yii 2,yii,yii2,Yii,Yii2,目前我的路线中有类似的东西 'c/<id:\d+>' => 'c/view', 'c/'=>'c/view', 我想在我的“id”中同时使用整数和字母,但这不起作用。我需要替换什么才能使其工作?在路由'c/'=>'c/view'中,您有\d+,这是一个正则表达式,其中d+与数字匹配。如果将其更改为,则允许您使用单词、字母或数字。您可以使用以下选项: 'c/<id:[[:alnum:]]+>' => 'c/view' 'c/'=>'c/view' [:a

目前我的路线中有类似的东西

'c/<id:\d+>' => 'c/view',
'c/'=>'c/view',

我想在我的“id”中同时使用整数和字母,但这不起作用。我需要替换什么才能使其工作?

在路由
'c/'=>'c/view'
中,您有
\d+
,这是一个正则表达式,其中d+与数字匹配。如果将其更改为
,则允许您使用单词、字母或数字。

您可以使用以下选项:

'c/<id:[[:alnum:]]+>' => 'c/view'
'c/'=>'c/view'
[:alnum:]是一个POSIX括号表达式,我喜欢用它来保持我的urlRules简洁。我也发现它们很容易记住

您还可以使用:

  • [:alpha:][/code>-相当于[A-Za-z]
  • [:数字:
    -相当于[0-9]
  • [:lower:][/code>-相当于[a-z]
详情如下:

尝试使用“c/”=>“c/view”