我试图从一个不是定义的数学运算符或保留字的字符串中删除所有内容。
function run($value)
{
return preg_replace('/[^0-9\+\-\*\/\(\)\.]/', '', $value);
}
echo run('23*10 /SDF (ABC * 2) + 3 / XYZ');
在上面的示例中,ABC和XYZ是接受的保留字(我无法在正则表达式中使这些工作)并且需要被允许。取得预期的结果:
23*10/(ABC*2)+3/XYZ
为清楚起见,允许的字符是:
any integer "0-9"
plus "+"
minus "-"
divide "/"
multiply "*"
open/close parenthesis "(" ")"
允许的保留字是:
ABC
XYZ