Foros del Web » Programando para Internet » PHP »

Funcion para ignorar o insensibilidad con acentos

Estas en el tema de Funcion para ignorar o insensibilidad con acentos en el foro de PHP en Foros del Web. Miren En un cadena por ejemplo: "mi cancíon" quiero reemplazar encontrar y reemplazar la palabra cancion con o sin acento por tema, quedaria asi: "mi ...
  #1 (permalink)  
Antiguo 31/05/2007, 10:16
 
Fecha de Ingreso: enero-2006
Mensajes: 8
Antigüedad: 18 años, 3 meses
Puntos: 0
Sonrisa Funcion para ignorar o insensibilidad con acentos

Miren

En un cadena por ejemplo:

"mi cancíon"

quiero reemplazar encontrar y reemplazar la palabra cancion con o sin acento por tema, quedaria asi:

"mi tema"

Usando str_ireplace solucione el problema de las mayusculas y minusculas.

Ahora quisiera saber cual funcion debo usar mas o menos como str_ireplace que ignora mayusculas o minusculas, pero para ignorar acentos, para que sea insencible si lleva o no acentos.

By

Gracias

Última edición por Rolando Gomez; 01/06/2007 a las 10:10 Razón: ortografia
  #2 (permalink)  
Antiguo 31/05/2007, 10:33
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Funcion para ignorar o sensibilidad con acentos

Que sepa no hay. Si así es, tendrás que hacer una que reemplace los caracteres acentuados para luego hacer lo que necesitas con el string, no es difícil, completala, pero sería:
Código PHP:
function acentos($value){
    
$aySearches = array('á','é');
    
$ayReplaces = array('a','e');
    return 
str_replace($aySearches,$ayReplaces,$value);

__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 31/05/2007, 14:24
 
Fecha de Ingreso: enero-2006
Mensajes: 8
Antigüedad: 18 años, 3 meses
Puntos: 0
De acuerdo Re: Funcion para ignorar o sensibilidad con acentos

Gracias por la respuesta esa solucíon ya la habia considerado, el problema pasa por lo siguiente, talves puedas darme alguna idea de como hacerlo.

Si la cadena fuera esta:

"Mi cancíon, descripcíon, leccíon"

Usando el metodo que mencionaste quitaria los acentos a las otras palabras lo cual no deseo hacer, solamente quiero quiero cambiar la palabra elegida en este ejemplo que seria cancion, este o no acentuada, para que quede asi:

"Mi tema, descripcíon, leccíon"

Alguna otra sugerencia, mientras siguo buscando en la red.

Última edición por Rolando Gomez; 31/05/2007 a las 14:27 Razón: ortografía
  #4 (permalink)  
Antiguo 31/05/2007, 14:33
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Funcion para ignorar o sensibilidad con acentos

No se si exista como te decía, de hecho, si encontrás algo (aunque sea una regex), posteala.

No se en que contexto lo estas usando, pero no te sirve reemplazar canción y cancion del string? o sea:

Código PHP:
$str "Mi cancíon, descripcíon, leccíon";
$str str_ireplace("canción","cancion",$str);
$str str_ireplace("cancion","tema",$str); 
__________________
Mi punto de partida es Que Bueno Lo Nuevo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:33.