Я хочу проверить, есть ли в ядре какая-либо из операций для расчетов, например:
$str = "part1+part2"
Проверить, если $ ул содержит любой из этих символов: +, —, /, или же *
Затем присвойте каждую часть укуса переменной
$p1 = "part1";
$p2 = "part2";
$opr = "+";
Вот регулярное выражение, которое будет работать. Я также сделал фактический расчет, который вам может понадобиться или не понадобиться.
Регулярное выражение ищет что-либо перед + — / или * и вызывает его как var1, затем находит оператор и затем var2. Играть с регулярным выражением здесь https://regex101.com/r/fXw0cv/2
Проверь это:
<?php
$x = "50+60";
$regex = '#(?<val1>.*)(?<operator>[\+\-\/\*])(?<val2>.*)#';
preg_match( $regex, $x, $match);
if (count($match)) {
echo $match['val1'] . $match['operator'] . $match['val2'] .' = ';
switch ($match['operator']) {
case '+':
$result = $match['val1'] + $match['val2'];
break;
case '-':
$result = $match['val1'] - $match['val2'];
break;
case '/':
$result = $match['val1'] / $match['val2'];
break;
case '*':
$result = $match['val1'] * $match['val2'];
break;
}
echo $result;
}
Выход: 50 + 60 = 110 https://3v4l.org/LS2pB
Других решений пока нет …