Tambien esta el lado largo que es lo que buscas creo, en ese caso se me ocurre algo así:
Código PHP:
Ver original//Cadena que llega
$cadena = "125+487*85/2";
//Array de Salida
$salida = [];
//Simbolos
$simbolos = ['+','/','*','-'];
//Descomponemos la cadena entrante
//Grupo Temporal
$temp = "";
//Recorremos el array resultante del string
for($i=0; $i<count($can); $i++){ //Si no es un simbolo lo agregamos a la variable temp
$temp .= $can[$i];
}else{
//si es un simbolo agregamos los elementos al array de salida
$temp = "";
}
//Si llegamos al final de recorrido y la variable temp esta llena la agregamos al array de salida
if($i+1==count($can) && $temp !=""){ }
};
eso retorna el siguiente array:
array(7) {
[0]=> string(3) "125"
[1]=> string(1) "+"
[2]=> string(3) "487"
[3]=> string(1) "*"
[4]=> string(2) "85"
[5]=> string(1) "/"
[6]=> string(1) "2"
}
claro debe haber una manera más simple, pero es la que se me ocurre a esta hora.