如何检查用户输入的重复文本



当有字符数量要求时。某些用户可能会使用重复的垃圾文本填充剩余配额。我想设置允许的重复次数。

    $input = "this is a test to see if there are repeats in this sentence blah blah blah as these three here";

    if(check_input($input, 3) === false)
        var_dump("No repeat found");
    else
        var_dump("Repeat found");

    function check_input($input, $maximum_repeats){
        $repeat_found = false;
        for($i = 0; $i < strlen($input) && $repeat_found == false; $i++){
            for($k = 0; $k < strlen($input) && $repeat_found == false; $k++){
                $test = substr($input, $i, $k);
                if(strlen($test) > 0){
                    if(find_repeat($test, $input, $maximum_repeats) === true){
                        $repeat_found = true;
                    }
                }
            }
        }
        return $repeat_found;
    }
    function find_repeat($target, $input, $amount){
        $needle = "";
        for($i = 0; $i < $amount; $i++)
            $needle .= $target;
        return strpos($input, $needle) !== false;
    }

此函数适用于"blah blah blah"和其他示例,例如

还行。。。

相关内容

  • 没有找到相关文章

最新更新