regex - Laravel 不区分大小写的路由

标签 regex laravel laravel-4 case-insensitive laravel-routing

如何定义不区分大小写的(a 的一部分)路由?

例子:

  • Route::get('/{userId}/profile');
  • http://domain.com/123/profile工作正常。

  • 在路由的固定部分使用大写字母不起作用:
  • http://domain.com/123/Profile不起作用
  • http://domain.com/123/proFILE不起作用

  • 我了解如何使用 ->with() 使 {parameter} 之类的参数使用正则表达式模式,但这对我处理路线的固定部分没有帮助,如上所述。

    最佳答案

    这可以通过以下方式定义路由来解决:

    Route::get('/{userId}/{profile}')->with('profile', '(?i)profile(?-i)');
    

    更聪明的是,将其定义为 pattern ,然后它也可以在路由组中使用。
    Route::pattern('profile', '(?i)profile(?-i)');
    Route::get('/{userId}/{profile}');
    

    关于regex - Laravel 不区分大小写的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21731151/

    相关文章:

    php - 显示以 utf8 数据库字段结束的 htmlspecials 字符

    php - 如何返回 id 等于其他具有 Laravel 关系的表上的 id 的模型行?

    javascript - 尝试从数据库获取数据并填充 vuetify 数据表时找不到 items.sort

    php - 从 MessageBag 中删除消息

    php - 动态替换所有<img>标签的 "src"属性

    java - 我如何将这个 Perl 正则表达式翻译成 Java?

    regex - 使用正则表达式的 selenium xpath 表达式中的语法错误

    java - 如何检查一个字符串只包含数字和一个小数点?

    laravel - 从迁移中显示 Laravel SQL

    php - Laravel 4 中的多种用户类型 - 登录问题