【问题标题】:codeigniter regular expression for uri slug in routes路由中uri slug的codeigniter正则表达式
【发布时间】:2012-08-08 08:01:55
【问题描述】:

我想从控制器 my_controller 调用一个函数,将两个参数传递给 some_method:第一个参数是 slug(即 some-website-slug);第二,一个数字。这就是我正在尝试的:

$route['my_controller/([a-z0-9]+(-[a-z0-9]+)*)/(:num)'] = "my_controller/some_method/$1/$2";

问题是,它总是传入“-slug”(即 slug 字符串的最后一部分)而不是数字。所以例如与

base_url/my_controller/some-uri-slug/2

它将传入“-slug”而不是数字 2。正则表达式有问题还是 CI 有问题?

【问题讨论】:

  • 试试$3 而不是$2
  • 酷,如果您想标记为正确,我将其作为答案发布。
  • 您可以使用 rubular.com 来测试您的表达方式。

标签: regex codeigniter routes slug


【解决方案1】:

你的正则表达式有两对(),所以(:num)实际上是$3而不是$2

【讨论】:

    猜你喜欢
    • 2017-05-13
    • 1970-01-01
    • 2014-04-14
    • 2012-09-23
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 2010-12-30
    相关资源
    最近更新 更多