Я пишу скрипт, который позволит пользователю вводить строку, которая является математическим оператором, чтобы затем быть оценена. Я однако попал в контрольно-пропускной пункт. Я не могу понять, как с помощью preg_match отклонять операторы, в которых есть переменные.
Используя это, $calc = create_function("", "return (" . $string . ");" ); $calc();
, пользователи могут вводить строку, которая будет оценена, но она падает, когда вместо переменной $string
.
ставится что-то вроде
echo 'foo';
.
Я видел этот пост , но он не допускает математических функций внутри строки, таких как $string = 'sin(45)';
.