0

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

我想要实现的结果是如果用户键入“rand”则使 PhP echo(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;
        }

    }
?>
4

1 回答 1

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;

    }
?>

活生生的例子

于 2012-04-09T15:25:54.053 回答