我目前正在努力尝试在PHP中创建一个计算器,它将输入一个完整的字符串,之后我会识别该字符串的哪个部分包含数学问题,然后我使用eval()
解决问题。我的目标是创建一个条件,允许具有数学问题的部分只有数字,空格和基本数学的必要字符。我的问题是我无法弄清楚如何检查括号。
这是我的代码:
if (preg_match("/^\s*([-+]?)(\d+)(?:\s*([-+*\/])\s*((?:\s[-+])?\d+)\s*)+$/", trim($input, " "))){
$output = eval("echo " . $input . ";");
}else{
echo "You entered an invalid input";
}
我会高度赞赏我能得到的任何帮助。谢谢!