Codeigniter - if语句中的正则表达式


Codeigniter - Regular expression in if statement?

我想知道如何将正则表达式实现为以下语句:

if($this->uri->segment(3) !== 'a,b,c...') {
         redirect 'tools/glossary';
        }

我需要检查uri段的长度是否只有一个字符,并且只有字母顺序。

如果没有,则重定向到术语表页。

这怎么可能??

if (!preg_match('/^[a-z]$/i', $this->uri->segment(3))) {
    redirect('tools/glossary');
}

正如其他人回答的那样,preg_match将适合您。但是,为了提供另一种选择,codeigniter在路由规则中接受正则表达式,因此您可以在config/routes.php中使用类似

的内容。
$route['somecontroller/someaction/([a-zA-Z])'] = "somecontroller/someaction/$1";
$route['somecontroller/someaction/(:any)'] = "tools/glossary";

避免重定向