Pues obviamente tienes un error de lógica en esa función... Como mínimo, debería contener un case o switch, que evaluara las condiciones por separado, con su correspondiente break.
Código PHP:
Ver originalswitch ($a) {
case "ES":
break;
case "P":
break;
case "TU":
break;
}
¿Notas que cada una de esas sentencias se ejecuta en cadena, y que la segunda tiene como entrada del str_replace(), lo que ya hizo el primero, y el tercero el resultado de la segunda...?
Creo que con lo que te digo
tal vez te des cuenta de por dónde está tu error...
Aunque yo lo haría:
Código PHP:
Ver originalswitch ($a) {
case "ES":
$a = "ESPAÑA";
break;
case "P":
$a = "PORTUGAL";
break;
case "TU":
$a = "TUNEZ";
break;
}