最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
CI框架中PHP正则(不用转义)做法
时间:2022-06-25 00:53:39 编辑:袖梨 来源:一聚教程网
我们在书写PHP正则的时候,正则的修饰定义符通常定义为 / ,而定义为 / 的带来的麻烦是如果正则表达式含中有 / 则需要转义书写为 \/ 这让读正则的人看的比较晕乎。书写也比较烦琐。
为了避免这个情况,可以把正则的修饰定义符定义为 # 。
例子:
代码如下 | 复制代码 |
$uri = 'art/33/44'; preg_match_all('#^art(/\d+)(/\d+)#',$uri,$arr); //等价于下面注释的 //preg_match_all('/^art(\/\d+)(\/\d+)/',$uri,$arr); echo ' '; |
话说CI框架,在路由解析功能上。也是这么干的。CI相关代码如下:
[路由定义文件 application/config/routes.php]
代码如下 | 复制代码 |
$route['default_controller'] = "welcome"; $route['404_override'] = ''; $route['art/(\d+)(/\d*)'] = "test/aaa/$1/"; |
[路由解析类 system/core/Router.php]
代码如下 | 复制代码 |
function _parse_routes() // Loop through the route array looking for wild-cards // Does the RegEx match? return $this->_set_request(explode('/', $val)); // If we got this far it means we didn't encounter a |
这样的话,在CI框架里书写路由规则的时候,如果正则规则里有/,则可以不用转义!
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22