La primera función tuya está mal hecha
es Así:
Código php:
Ver originalfunction elimina_acentos($cadena)
{
$acentos = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$quitar = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
return(strtr($cadena, $acentos, $quitar)); }
strtr
o otra forma parecida:
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"); }
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...