Tengo un dilema! y esque e probado muchisimas formas de quitar las tildes y las Ñs... y en todos los casos me devuelve la variable tal y como se envia con tildes y con Ñs... y me estoy desesperando! porque nose a que se deve las funciones que utilizo si las programo para cambiar una frace por otra funciona perfectamente... pero al acerlo para que sustituya una letra tildada o especial y no lo ace... si hay algien que pueda ayudarme lo agradeseria!!
Aqui os dejo unos ejemplos para quitar las tildes y las Ñs que utilizo...
Código PHP:
function limpieza($cadena)
{
$vocalti= array ("á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","Ñ","À","È","Ì","Ò","Ù","à","è","ì","ò","ù","ç","Ç","â","ê","î","ô","û","Â","Ê","Î","Ô","Û","ü","ö","Ö","ï","ä","ë","Ü","Ï","Ä","Ë");
$vocales= array ("a","e","i","o","u","A","E","I","O","U","n","N","A","E","I","O","U","a","e","i","o","u","c","C","a","e","i","o","u","A","E","I","O","U","u","o","O","i","a","e","U","I","A","E");
$cadena=str_replace($vocalti, $vocales,$cadena);
return $cadena;
}
function sinTildes($texto) {
return strtr($texto,"áéíóúüÁÉÍÓÚÜñÑ","aeiouuAEIOUUnN");
}
function retornarStringValido($cadena)
{
$login = strtolower($cadena);
$b = array("á","é","í","ó","ú","ä","ë","ï","ö","ü","à","è","ì","ò","ù","ñ");
$c = array("a","e","i","o","u","a","e","i","o","u","a","e","i","o","u","n");
$login = str_replace($b,$c,$login);
return $login;
}
function quitartilde($texto)
{
$buscar[0] = '/á/';
$buscar[1] = '/é/';
$buscar[2] = '/í/';
$buscar[3] = '/ó/';
$buscar[4] = '/ú/';
$buscar[5] = '/ü/';
$buscar[6] = '/Á/';
$buscar[7] = '/É/';
$buscar[8] = '/Í/';
$buscar[9] = '/Ó/';
$buscar[10] = '/Ú/';
$buscar[11] = '/Ü/';
$buscar[12] = '/ñ/';
$buscar[13] = '/Ñ/';
$cambiar[0] = 'a';
$cambiar[1] = 'e';
$cambiar[2] = 'i';
$cambiar[3] = 'o';
$cambiar[4] = 'u';
$cambiar[5] = 'u';
$cambiar[6] = 'A';
$cambiar[7] = 'E';
$cambiar[8] = 'I';
$cambiar[9] = 'O';
$cambiar[10] = 'U';
$cambiar[11] = 'U';
$cambiar[12] = 'n';
$cambiar[13] = 'N';
$archivo_salida = preg_replace($buscar, $cambiar, $texto);
return $archivo_salida;
}