Foros del Web » Programando para Internet » PHP »

Quitar Tildes

Estas en el tema de Quitar Tildes en el foro de PHP en Foros del Web. Buen dia, tengo un problema al realizar una funcion en PHP , cuando lo hago en un pequeño ejemplo donde solo tengo una variable trabaja ...
  #1 (permalink)  
Antiguo 05/04/2012, 08:38
 
Fecha de Ingreso: febrero-2012
Ubicación: Merida Yucatan
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Quitar Tildes

Buen dia, tengo un problema al realizar una funcion en PHP , cuando lo hago en un pequeño ejemplo donde solo tengo una variable trabaja bien pero cuando lo meto en el formulario completo con 31 variables este ya no trabaja , haciendo echos me di cuenta que sí entra en la función pero no sustituye las letras no se si tenga que ver que en el formulario final lo guardo en Mysql

function cambiar ($div) //este es un ejemplo que encontre en el foro
{
$n_div=str_replace(" ","*",$div);
$n_div=str_replace("á","a",$n_div);
$n_div=str_replace("é","e",$n_div);
$n_div=str_replace("í","i",$n_div);
$n_div=str_replace("ó","o",$n_div);
$n_div=str_replace("ú","u",$n_div);
$n_div=str_replace("ä","a",$n_div);
$n_div=str_replace("ë","e",$n_div);
$n_div=str_replace("ï","i",$n_div);
$n_div=str_replace("ö","o",$n_div);
$n_div=str_replace("ü","u",$n_div);
$n_div=str_replace("ñ", "n", $n_div);
$n_div=str_replace("Ñ", "N", $n_div);

//al final retornamos la cadena limpia y pura
echo $n_div;
return $n_div;
}

y qui es donde la llamó

$COMENTARIO= ($_POST["comentario"]==null)? "SIN DATO" : $_POST["comentario"];

$COMENTARIO=(cambiar($COMENTARIO));
echo $COMENTARIO;

Lo raro es que cuando lo pongo en un archivo para probarlo ,es decir la misma funcion pero con un sola variable post aqui si funciona

<?
$COMENTARIO=($_POST["comentario"]!="Escriba su Comentario") ? htmlspecialchars($_POST["comentario"]) : NULL;

$COMENTARIO=(cambiar($COMENTARIO));

echo $COMENTARIO;
?>
  #2 (permalink)  
Antiguo 05/04/2012, 12:36
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Quitar Tildes

La función str_replace() te permite usar arrays para búsqueda y reemplazo, ejemplo:

Código PHP:
Ver original
  1. $buscar = array('á', 'é', 'í', 'ó', 'ú');
  2. $cambiar = array('a', 'e', 'i', 'o', 'u');
  3.  
  4. echo str_replace($buscar, $cambiar, 'Adiós tildes: áéíóú');
  5. // Resultado: Adios tildes: aeiou

Puedes incluir tantos caracteres como requieras, pero no olvides que para evitar problemas, tanto $buscar como $cambiar deben tener el mismo número de elementos y en el mismo orden.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 05/04/2012, 14:49
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Quitar Tildes

utiliza la funcion strtr().

Etiquetas: funcion, tildes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:45.