Problema quitando acentos Buenas...
Llevo casi toda la mañana con esta tonteria que en teoria es sencillo de hacer...Primero intente hacer una yo
Código php:
Ver originalfunction elimina_acentos($cadena) { $acentos = array("À", "Á", "Â", "Ã", "Ä", "Å", "à", "á", "â", "ã", "ä", "å", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "ò", "ó", "ô", "õ", "ö", "ø", "È", "É", "Ê", "Ë", "è", "é", "ê", "ë", "Ç", "ç", "Ì", "Í", "Î", "Ï", "ì", "í", "î", "ï", "Ù", "Ú", "Û", "Ü", "ù", "ú", "û", "ü", "ÿ", "Ñ", "ñ"); $quitar = array("A", "A", "A", "A", "A", "A", "a", "a", "a", "a", "a", "a", "O", "O", "O", "O", "O", "O", "o", "o", "o", "o", "o", "o", "E", "E", "E", "E", "e", "e", "e", "e", "C", "c", "I", "I", "I", "I", "i", "i", "i", "i", "U", "U", "U", "U", "u", "u", "u", "u", "y", "N", "n"); return(strtr($cadena, $acentos, $quitar)); }
Pero no funcionaba, dejaba la palabra tal cual con el acento asi que supuse que lo habia hecho mal y busque alguna funcion hecha por internet llegando a esta:
Código php:
Ver originalfunction quitarAcentos($text) { // Espacios, puntos y comas por guion '/[\., ]+/' => '-', // Vocales '/à/' => 'a', '/è/' => 'e', '/ì/' => 'i', '/ò/' => 'o', '/ù/' => 'u', '/á/' => 'a', '/é/' => 'e', '/í/' => 'i', '/ó/' => 'o', '/ú/' => 'u', '/â/' => 'a', '/ê/' => 'e', '/î/' => 'i', '/ô/' => 'o', '/û/' => 'u', '/ã/' => 'a', '/&etilde;/' => 'e', '/ĩ/' => 'i', '/õ/' => 'o', '/ũ/' => 'u', '/ä/' => 'a', '/ë/' => 'e', '/ï/' => 'i', '/ö/' => 'o', '/ü/' => 'u', '/ä/' => 'a', '/ë/' => 'e', '/ï/' => 'i', '/ö/' => 'o', '/ü/' => 'u', // Otras letras y caracteres especiales '/å/' => 'a', '/ñ/' => 'n', // Agregar aqui mas caracteres si es necesario ); return $text; }
Aqui pasaba algo bastante raro y es que, en vez de sustituir la vocal con acento por una sin acento, ponia " anónimo" asi que nada, despues de probar 1 o 2 cosas, me pongo a buscar otro:
Código php:
Ver originalfunction convert_to_alias($string) { $a = array("á","é","í","oacute","ú","à","è","ì","ò","ù","ä","ë","ï","ö","ü","â","ê","î","ô","û","ñ","ç"," ", "/", "[", "\\", ".", ",", "]", "+", "/"); $b = array("a","e","i","o","u","a","e","i","o","u","a","e","i","o","u","a","e","i","o","u","n","c","-", "-", "-", "-", "-", "-", "-", "-", "-"); return $string; }
Y en este algo parecido a lo de arriba, en vez de poner " anonimo" pone " anoacutenimo" y ya estoy totalmente perdido, 3 cosas distintas que no funcionan, imagino que me falta poner algo o que, por que ya no se que hacer.
Creo que me falta lo de utf-8 o alguna cosa asi? En fin, si alguien puede ayudarme...
EDIT: Por cierto, necesito quitar los acentos porque estoy creando directorios desde PHP a un FTP y los acentos, obviamente sobran para que funcionen bien las URL
Última edición por Vendetta; 01/10/2009 a las 05:01 |