在Yii2操作中接受字符串参数

在Yii2操作中接受字符串参数,yii2,Yii2,在我的配置文件中,我设置了如下url规则: <controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action> 但它只接受数字作为参数。 我想要的是数字和字符串都被接受 请帮忙 d+模式与数字0-9匹配,因此它按预期工作。更改正则表达式模式以匹配字符串。试试w+ 更改: <controller:\w+>/<action:\w+>/<id

在我的配置文件中,我设置了如下url规则:

<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>
但它只接受数字作为参数。
我想要的是数字和字符串都被接受


请帮忙

d+模式与数字0-9匹配,因此它按预期工作。更改正则表达式模式以匹配字符串。试试w+

更改:

<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>
/'=>'/
致:

/'=>'/

您是指123后面的整个字符串吗?您需要对字符串进行编码,因为“”(空格)将导致ISSE。我的意思是,如果动作参数是字符串,它就不起作用了。我已经将d+更改为w+,但有些字符串不起作用。示例:hello(工作)hello world(不工作)2013-12-11(不工作)抱歉,我不太懂正则表达式。您需要决定要匹配的模式并构建适当的正则表达式。如何匹配正则表达式中的hypens(-)。
<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>
<controller:\w+>/<action:\w+>/<id:\w+>' => '<controller>/<action>