【问题标题】:Codeigniter is giving me an error called "Disallowed Key Characters."Codeigniter 给我一个名为“不允许的键字符”的错误。
【发布时间】:2015-04-25 16:03:02
【问题描述】:

我有一个名称为“exam[A+]”的输入。我发现当我打电话给$this->input->post("exam") 时,它给了我一个名为“Disallowed Key Characters”的错误。我想在我的关键字符中添加 + 号。这是系统文件中的代码。

function _clean_input_keys($str)
    {
        if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
        {
            exit('Disallowed Key Characters.');
        }

        // Clean UTF-8 if supported
        if (UTF8_ENABLED === TRUE)
        {
            $str = $this->uni->clean_string($str);
        }

        return $str;
    }

如何更改正则表达式以在输入中添加 + 号?

【问题讨论】:

    标签: php regex codeigniter post


    【解决方案1】:

    使用这个正则表达式允许+:

    ^[a-z0-9:_\/+-]+$
    

    重点是未转义的连字符必须在字符类的末尾。

    这里是a demo

    【讨论】:

    • 谢谢,它已经成功了,如果你不介意请告诉我如何学习 php 正则表达式。我知道正则表达式是如何工作的,但我很困惑我看到用 PHP 或 javascript 编写的正则表达式
    • 要学习正则表达式以便能够编辑此类正则表达式,您需要访问regular-expressions.info(查看字符类部分),还可以查看regular-expressions.info/php.html .要测试你的正则表达式,最好的地方是regex101.com,但也有phpliveregex.com
    猜你喜欢
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多