- array_map: documentation ( source)
- array_values: documentation ( source)
- array_keys: documentation ( source)
- preg_replace: documentation ( source)
<?php
$formula = "E1 + E2 + E4 + E5 + E7 + E8 + E10 + E11";
$map = array(
'Se' => 9,
'Et' => 12,
'E1' => 1,
'E2' => 8,
);
$patterns = array_keys($map);
$patterns = array_map(function ($v) { return "/\b$v\b/"; }, $patterns);
$values = array_values($map);
$replaced = preg_replace($patterns, $values, $formula);
echo $replaced;
//"1 + 8 + E4 + E5 + E7 + E8 + 10 + 11"