<?php
error_reporting(-1);
$input = "1+2*3/2*4-6=";

$tester = '#[\d\+\-*/=\s]#';
for ($i=0; $i<mb_strlen($input); $i++) {
	if (!preg_match($tester, mb_substr($input, $i, 1))) {
		echo "Формат неверен";
		exit();
	} 
}

echo "Вычисляем значение выражения: $input\n";

$devider = '#(\+|-|\*|=|/)#';
$parts = preg_split($devider, $input,0, PREG_SPLIT_DELIM_CAPTURE);
$length = count($parts);
$result = $parts[0];

for($i=1; $i<$length; $i++) {
	if ($parts[$i] == "+") {
		echo "$result + {$parts[$i+1]} = ";
		$result += $parts[$i+1];
		echo "$result\n";
	} elseif ($parts[$i] == "-") {
		echo "$result - {$parts[$i+1]} = ";
		$result -= $parts[$i+1];
		echo "$result\n";
	} elseif ($parts[$i] == "*") {
		echo "$result * {$parts[$i+1]} = ";
		$result *= $parts[$i+1];
		echo "$result\n";
	} elseif ($parts[$i] == "/") {
		echo "$result / {$parts[$i+1]} = ";
		$result /= $parts[$i+1];
		echo "$result\n";
	}
}

echo "Ответ равен: $result";