我的字符串包含简单的数学问题1 + 10,2 + 2,5-3 ......我希望能够匹配这些数学问题并用解决方案替换它们。
所以:吉米周五转5 + 5。改为:吉米周五满10岁。
此时我不需要乘法或除法,所以我认为它相对简单,但我不是经典的PHP训练。我假设我需要一个REGEX来匹配问题,但我几乎失去了。
1+10 becomes 11
2+2 becomes 4
答案 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);