Foros del Web » Programando para Internet » PHP »

Funcion para quitar caracteres "RAROS",acentos, etc...

Estas en el tema de Funcion para quitar caracteres "RAROS",acentos, etc... en el foro de PHP en Foros del Web. Hola, he estado buscando una fución la cual me haga lo siguiente: Suprima todos los acentos. Suprima (al poder ser quite) los caracteres tales como: ...
  #1 (permalink)  
Antiguo 07/08/2004, 05:40
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 14 años, 7 meses
Puntos: 7
Funcion para quitar caracteres "RAROS",acentos, etc...

Hola, he estado buscando una fución la cual me haga lo siguiente:

Suprima todos los acentos.
Suprima (al poder ser quite) los caracteres tales como: !·"=$·("%$ ?¿... o similares.

¿Teneis alguna o sabeis donde puedo piyarla? Yo tengo una hecha, quizas no sea el metodo más adecuado pero funciona...

Código PHP:
function parsear($palabraparsear)
{
$palabraparsear=strtoupper($palabraparsear);
$palabraparsear=str_replace(" ""_""".$palabraparsear."");
$palabraparsear=str_replace("-""_""".$palabraparsear."");
$palabraparsear=str_replace("?""-""".$palabraparsear."");
$palabraparsear=str_replace("¿""-""".$palabraparsear."");
$palabraparsear=str_replace("[""-""".$palabraparsear."");
$palabraparsear=str_replace("]""-""".$palabraparsear."");
$palabraparsear=str_replace("!""-""".$palabraparsear."");
$palabraparsear=str_replace("¡""-""".$palabraparsear."");
$palabraparsear=str_replace("Á""A""".$palabraparsear."");
$palabraparsear=str_replace("É""E""".$palabraparsear."");
$palabraparsear=str_replace("Í""I""".$palabraparsear."");
$palabraparsear=str_replace("Ó""O""".$palabraparsear."");
$palabraparsear=str_replace("Ú""U""".$palabraparsear."");
$palabraparsear=str_replace("á""A""".$palabraparsear."");
$palabraparsear=str_replace("é""E""".$palabraparsear."");
$palabraparsear=str_replace("í""I""".$palabraparsear."");
$palabraparsear=str_replace("ó""O""".$palabraparsear."");
$palabraparsear=str_replace("ú""U""".$palabraparsear."");
$palabraparsear=strtolower($palabraparsear);
return 
$palabraparsear;


Saluditors
  #2 (permalink)  
Antiguo 09/08/2004, 10:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm .. lo más lógico sería NO permitir esos caracteres .. es decir, no sustituir un caracter acentuado por su equivalente sin acento sino . .no permitirlo y en consecuencia que sea tu "usuario" el que modifique dicho dato.

En consecuencia la validación sería del tipo "sólo letras de A a la Z y numeros ...". Para eso te vendría bien usar expresiones regulares del tipo:

Código PHP:
if (!eregi("^[A-Z0-9]*",$cadena)){
   echo 
"La cadena contiene caracteres no permitidos";

No sé si será correcta la expresión regular .. pero por ahí anda el tema.

Un saludo,
  #3 (permalink)  
Antiguo 09/08/2004, 10:53
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 14 años, 7 meses
Puntos: 7
Lo primero muchas gracias, crei que ya no contestaba nadie...

Es para los temas de un foro Cluster, es decir si tu dices ¿no se que? pues en la url para ver el tema que ponga no_se_que-321.html

Haré lo que tu dices. No permitir esos caracteres. Muchas gracias
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 16:19.