Hello! 欢迎来到小浪资源网!


ThinkPHP6中如何完整获取包含中文的URL参数?


ThinkPHP6中如何完整获取包含中文的URL参数?

如何获取 thinkphp6 中完整的中文 url 参数

在使用 thinkphp6 进行路由时,你可能会遇到需要获取中文 url 参数的情况。然而,默认情况下,路由只会返回解码后的中文部分,如“多米尼克”,而不是完整的“多米尼克•奥布莱恩”。

要解决这个问题,你需要为路由匹配规则设置一个特定的正则表达式模式,如下所示:

route::rule('/author-:name', 'index/index/author')     ->pattern(['name' => '[w-•]+']);

正则表达式模式允许参数“name”匹配任意数字、字母、下划线、连字符和句点,这意味着它将匹配完整的中文字符串“多米尼克•奥布莱恩”。

立即学习PHP免费学习笔记(深入)”;

修改路由匹配模式后,你就可以在控制器中使用以下代码获取完整的中文参数:

$name = $this->request->param('name');

相关阅读