Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/10/2009, 05:41
Avatar de Tokkara
Tokkara
 
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: Problema quitando acentos

La primera función tuya está mal hecha

es Así:
Código php:
Ver original
  1. function elimina_acentos($cadena)
  2. {
  3.           $acentos = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
  4.           $quitar = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
  5.           return(strtr($cadena, $acentos, $quitar));
  6.  }
strtr

o otra forma parecida:
Código php:
Ver original
  1. function elimina_acentos($cadena) {
  2.     $acentos = array("À", "Á", "Â", "Ã", "Ä", "Å", "à", "á", "â", "ã", "ä", "å", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "ò", "ó", "ô", "õ", "ö", "ø", "È", "É", "Ê", "Ë", "è", "é", "ê", "ë", "Ç", "ç", "Ì", "Í", "Î", "Ï", "ì", "í", "î", "ï", "Ù", "Ú", "Û", "Ü", "ù", "ú", "û", "ü", "ÿ", "Ñ", "ñ");
  3.     $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");
  4.     return(str_replace($cadena, $acentos, $quitar));
  5. }
str_rpleace

Yo te recomiendo la primera opción. Es más rápida.

en cuanto a las otras 2 funciones que tienes. La primera sirve para pasar caractéres especiales, como por ejemplo &, ", ó..., a caractéres HTML: &, " ó. Esa función viene bien si la cadena que vas a introducir luego la usas en el código HTML. La otra función limpia cualquier cadena de caractéres especiales, como acentos, puntos, interrogaciones, espacios etc...
__________________
Revolucionario controlador de plantillas para php
www.simphple.com