preg_match拒绝字符'&'

时间:2013-09-19 16:07:13

标签: php preg-match character

我正在使用preg_match来限制用户输入,除了不允许使用特殊字符'&'之外它运行良好。我试过逃避角色,但preg_match仍然不会让它通过。我知道其余代码的工作原理是测试它没有'&'字符。

function validateInput($name){
    if (preg_match("/^[A-Za-z0-9]+[A-Za-z0-9 \(\)\&\',\.-]{0,75}$/", $name) === 1){
        $val = 1;
    } else {
        $val = 0;
        echo 'Invalid input: <strong>'.$name.'</strong>. Only letters, numbers, and certain characters ( ,\' . ( ) & - ) are allowed.<br>';
    }
    return $val;
}

1 个答案:

答案 0 :(得分:0)

问题在于将输入存储在变量中时使用了htmlentities()

当替换为mysqli_real_escape_string()时,它可以正常工作。