Hola compañeros, tengo un problema con la función str_replace.
He hecho yo una función para convertir las letras especiales (con tildes y ñ) a letras normales, por ejemplo:
"hòla" => "hola"
"eñe" => "ene"
Lo hago con str_replace. Aquí está el código de dicha función:
Código PHP:
Ver originalfunction caracteresNormales ( $str) {
//Esta parte se encarga de eliminar cualquier caracter extraño
array("\\", "¨", "º", "-", "~", "#", "@", "|", "!", "\"",
"·", "$", "%", "&", "/",
"(", ")", "?", "'", "¡",
"¿", "[", "^", "`", "]",
"+", "}", "{", "¨", "´",
">", "<", ";", ",", ":",
".", " "),
'',
$str
);
array('á', 'à', 'ä', 'â', 'ª'), "a",
$str
);
array('é', 'è', 'ë', 'ê'), "e",
$str
);
array('í', 'ì', 'ï', 'î'), "i",
$str
);
array('ó', 'ò', 'ö', 'ô'), "o",
$str
);
array('ú', 'ù', 'ü', 'û'), "u",
$str
);
return $str;
}
El problema es que solo me hace correctamente el str_replace en el primer caso (el de caracteres especiales). Aquí les dejo un ejemplo:
Código PHP:
Ver originalarray("hola+", "hòla", "hölè", "hïí-la", "ho-_@·la", "hólâ"); //aplicamos la funcion.
//retorno:
hola, hã²la, hã¶lã¨, hã¯ã*la, ho_â·la, hã³lã¢
No entiendo porque no funciona. Si hago fuera de mi función el str_replace de las o si que funciona :S
muchas gracias!