我目前正在尝试使用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;
}
}
?>
答案 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;
}
?>