我想知道如何在以下语句中实现正则表达式:
if($this->uri->segment(3) !== 'a,b,c...') {
redirect 'tools/glossary';
}
我需要检查uri段的长度只有一个字符,只是按字母顺序排列。
如果没有,则重定向到词汇表页面。
这怎么可能?
答案 0 :(得分:3)
if (!preg_match('/^[a-z]$/i', $this->uri->segment(3))) {
redirect('tools/glossary');
}
答案 1 :(得分:2)
正如其他人已经回答的那样,preg_match将为您效劳。但是,为了提供替代方案,codeigniter在路由规则中接受正则表达式,因此您可以在config/routes.php
中添加某些内容
$route['somecontroller/someaction/([a-zA-Z])'] = "somecontroller/someaction/$1";
$route['somecontroller/someaction/(:any)'] = "tools/glossary";
避免重定向