posible problema con str_replace
Tengo un problema con str_replace, si probais este codigo vereis que no devuelve bien las letras y sus respectivas pronunsiaciones, y no entiendo porque falla.
Alguien me puede decir que es lo que falla y como solucionarlo?
-----------------------------------------------------------------------------
function convertir_a_fonetico($variable_entrante)
{
$buscar = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$reemplazar = array(' a ',' be ',' ce ',' de ',' e ',' efe ',' ge ',' hache ',' i ',' jota ',' ka ',' ele ',' eme ',' ene ',' o ',' pe ',' cu ',' ere ',' ese ',' te ',' u ',' uve ',' uvedoble ',' equis ',' ye ',' zeta ');
$salida = str_replace($buscar,$reemplazar,$variable_entrante);
echo $salida;
}
$entrada = "barcelona";
convertir_a_fonetico($entrada);
- Inicie sesión o regístrese para enviar comentarios
- 2274 lecturas












Esta es una posible solución que funciona. EL problema estaba en las vocales. Por ejemplo: la b la cambia por be y cuando llega a la letra e vuelve a coger esa be y la cambia por b e. Mi solución ha sido probar sin las vocales y funciona. Otra opción sería colocar las vocales al principio y luego las consonantes.
Saludos,
Andrés Castellano
www.creamiweb.es
-------------------------------------------------------------------
function convertir_a_fonetico($variable_entrante)
{
//$buscar = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$buscar = array('b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z');
//$reemplazar = array(' a ',' be ',' ce ',' de ',' e ',' efe ',' ge ',' hache ',' i ',' jota ',' ka ',' ele ',' eme ',' ene ',' o ',' pe ',' cu ',' ere ',' ese ',' te ',' u ',' uve ',' uvedoble ',' equis ',' ye ',' zeta ');
$reemplazar = array(' be ',' ce ',' de ',' efe ',' ge ',' hache ',' jota ',' ka ',' ele ',' eme ',' ene ',' pe ',' cu ',' ere ',' ese ',' te ',' uve ',' uvedoble ',' equis ',' ye ',' zeta ');
$salida = str_replace($buscar,$reemplazar,$variable_entrante);
echo $salida;
}
$entrada = "barcelona";
convertir_a_fonetico($entrada);