У меня есть строки, содержащие простые математические задачи 1 + 10, 2 + 2, 5-3 … Я хочу иметь возможность сопоставить эти математические проблемы и заменить их решением.
Так что: Джимми становится 5 + 5 в пятницу. изменен на: Джимми исполняется 10 в пятницу.
Мне не нужно умножение или деление на данный момент, поэтому я предполагаю, что он относительно прост, но не классифицирован в PHP. Я предполагаю, что мне понадобится REGEX, чтобы соответствовать этой проблеме, но я очень сильно потерял оттуда.
1+10 becomes 11 2+2 becomes 4
Просто «eval» замените – но позаботьтесь, это 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);