PHP前端开发

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

百变鹏仔 3天前 #PHP
文章标签 中文

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

在 thinkphp6 中,获取url参数通常使用request()方法,但对于中文url参数,会遇到截断问题,导致只获取到中文参数的第一个字。

问题

如何获取完整的中文url参数,例如 url 为 http://localhost/author-多米尼克•奥布莱恩.html,希望获取的参数为 多米尼克•奥布莱恩。

解答

thinkphp6 提供了pattern()方法来设置正则匹配规则,解决中文url参数截断问题:

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

Route::rule('/author-:name', 'index/index/author')    ->pattern(['name' => '[w-•]+']); // 设置参数的正则匹配规则

其中,[w-•] 表示匹配一个或多个单词字符、连字符或点号。这样,就能获取到完整的中文url参数。

利用此方案,在上述示例中,可以获取完整的参数 多米尼克•奥布莱恩。