php解析用户输入

时间:2012-04-09 15:19:18

标签: php forms parsing testing input

我目前正在尝试使用PhP来“解析”用户输入。 该页面只是一个带有一个输入字段和提交按钮的表单。

我想要实现的结果是如果用户键入“rand”,则使PhP回显(rand(0,100)) 但是如果用户输入这种形式的东西:“rand int1-int2”它回声“rand(int1,int2)”

我目前正在使用switch,case,break来进行用户输入。

提前谢谢!

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">
    <input type="text" name="commande" />
    <input type="submit" name="submit" value="envoyer!" />
</form>

<?php if (isset($_POST['commande'])) {

    switch($_POST['commande']){ 
        case "hello":
            echo"<h1> Hello </h1>";
        break;
        case substr($_POST['commande'], 0, 4)=="rand":
            echo(rand(1,100));
        break;
        }

    }
?>

1 个答案:

答案 0 :(得分:1)

您可以使用explode实现此目的。

<?php
    $input = 'rand 1245';
    list($command, $arguments) = explode(' ', $input);
    $arguments = explode('-', $arguments);
    switch($command) {
        case 'rand':
            print_r($arguments);break;
            $min = 0;
            $max = 100;
            if (count($arguments) == 2) {
                $min = (int)$arguments[0];
                $max = (int)$arguments[1];
            }

            echo rand($min, $max);
            break;

    }
?>

Live example