Reemplazar Ñ, Acentos, Caracteres Especiales con PHP

Publicado el 25 de Julio, 2012. 09:26:35 en Webmasters
Una function para reemplazar las ñ y todos los caracteres especiales con PHP. Una forma facil y practica, esta function le podemos agregar mas caracteres o tambien utilizarla para reemplazar codigos HTML o de BBcode. Solamente tendremos que reemplazar los caracteres del array.
La function, la pegamos en nuestro archivo PHP, y le agregamos sanear_string(); a nuestras variables o texto.

ejemplo: sanear_string($texto);

Con eso la function reeplazara todos los caracteres especiales, recuerda que preg_replace consume mucho recursos, tambien puedes utilizar str_replace.

Codigo:

/**
 * Reemplaza todos los acentos por sus equivalentes sin ellos
 *
 * @param $string
 *  string la cadena a sanear
 *
 * @return $string
 *  string saneada
 */
function sanear_string($string)
{
 
    $string = trim($string);
 
    $string = str_replace(
        array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä'),
        array('a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A'),
        $string
    );
 
    $string = str_replace(
        array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ê', 'Ë'),
        array('e', 'e', 'e', 'e', 'E', 'E', 'E', 'E'),
        $string
    );
 
    $string = str_replace(
        array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'),
        array('i', 'i', 'i', 'i', 'I', 'I', 'I', 'I'),
        $string
    );
 
    $string = str_replace(
        array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'),
        array('o', 'o', 'o', 'o', 'O', 'O', 'O', 'O'),
        $string
    );
 
    $string = str_replace(
        array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Û', 'Ü'),
        array('u', 'u', 'u', 'u', 'U', 'U', 'U', 'U'),
        $string
    );
 
    $string = str_replace(
        array('ñ', 'Ñ', 'ç', 'Ç'),
        array('n', 'N', 'c', 'C',),
        $string
    );
 
    //Esta parte se encarga de eliminar cualquier caracter extraño
    $string = str_replace(
        array("\\", "¨", "º", "-", "~",
             "#", "@", "|", "!", "\"",
             "·", "$", "%", "&", "/",
             "(", ")", "?", "'", "¡",
             "¿", "[", "^", "`", "]",
             "+", "}", "{", "¨", "´",
             ">", "<", ";", ",", ":",
             ".", " "),
        '',
        $string
    );
 
 
    return $string;
}
2 Comentarios Reemplazar Ñ, Acentos, Caracteres Especiales con PHP
  1. Rolphi dijo:

    tengo una duda amigo, a la hora de usarlo en un enlace.. ya que no me muestra ningun caracter

  1. aprende a poner bien el codigo amigo la funcion esta genial pero la parte del codigo para poder copiarlo esta de mierda o mejor aun adjunta la funcion en un .zip