Preg_replace解决方案的简单数学问题?

时间:2011-07-29 01:34:05

标签: php regex math preg-replace

我的字符串包含简单的数学问题1 + 10,2 + 2,5-3 ......我希望能够匹配这些数学问题并用解决方案替换它们。

所以:吉米周五转5 + 5。改为:吉米周五满10岁。

此时我不需要乘法或除法,所以我认为它相对简单,但我不是经典的PHP训练。我假设我需要一个REGEX来匹配问题,但我几乎失去了。

1+10 becomes 11
2+2 becomes 4

1 个答案:

答案 0 :(得分:3)

只需“评估”替代品 - 但请注意,它是eval(Demo):

$subject = 'Jimmy turns 5+5 on Friday, Martha 1+10 on Saturday and Petra is 2*2 today.';

$pattern = '~(\d+[*/+-]\d+)~e';
#                          ^^^ e = eval modifier

# Jimmy turns 10 on Friday, Martha 11 on Saturday and Petra is 4 today.
echo preg_replace($pattern, '$1', $subject);