Foros del Web » Programando para Internet » PHP »

Algo raro con los tíldés...¿?

Estas en el tema de Algo raro con los tíldés...¿? en el foro de PHP en Foros del Web. No entiendo porque sucede esto... Acá va el código: Código PHP: print  $nombre ; $nombre  =  str_replace ( 'á' , 'a' , $nombre ); $nombre  ...
  #1 (permalink)  
Antiguo 11/07/2006, 10:53
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 12 años, 4 meses
Puntos: 28
Algo raro con los tíldés...¿?

No entiendo porque sucede esto...

Acá va el código:
Código PHP:
print $nombre;

$nombre str_replace('á','a',$nombre);
$nombre str_replace('é','e',$nombre);
$nombre str_replace('í','i',$nombre);
$nombre str_replace('ó','o',$nombre);
$nombre str_replace('ú','u',$nombre);
$nombre str_replace('Á','A',$nombre);
$nombre str_replace('É','E',$nombre);
$nombre str_replace('Í','I',$nombre);
$nombre str_replace('Ó','O',$nombre);
$nombre str_replace('Ú','U',$nombre);
$nombre str_replace(" ","%",$nombre);

print 
$nombre
Acá va el resultado:
Cita:
tíldéstíldés
A ver si alguien me puede ayudar (con el código y a sacar mi intriga... )

salu2
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #2 (permalink)  
Antiguo 11/07/2006, 11:17
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 14 años, 11 meses
Puntos: 8
no entiedo que queres hacer, xq pasa lo q pones no lo se, queres una funcione elimine las tildes?
Código PHP:
function retornarStringValido($cadena)
{
    
$login strtolower($cadena);
    
$b     = array("á","é","í","ó","ú","ä","ë","ï","ö","ü","à","è","ì","ò","ù");
    
$c     = array("a","e","i","o","u","a","e","i","o","u","a","e","i","o","u");
    
$login str_replace($b,$c,$login);
    return 
$login;

  #3 (permalink)  
Antiguo 11/07/2006, 11:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes alguna razón para quitar los acentos?

Podrías usar htmlentities() (en lugar de ese montón de reemplazos) lo digo por el " " a "%" que haces .. supongo que limpias esa cadena para propagarlo por el URL? ...

Por lo demás debería funcionar lo que propones (aunque recuerda que str_replace() acepta arrays para hacer esas sustituciones .. así no pones tantos "str_replace()" ....

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 11/07/2006, 11:26
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 12 años, 4 meses
Puntos: 28
quito los acentos porque es un motor de búsqueda y quiero que busque sin los ascentos...

agradezco lo de los arrays para ahorrame código, pero el tema es que debería funcionar (creo), y no funciona :s

help!
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #5 (permalink)  
Antiguo 11/07/2006, 11:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Anarninquë
quito los acentos porque es un motor de búsqueda y quiero que busque sin los ascentos...

agradezco lo de los arrays para ahorrame código, pero el tema es que debería funcionar (creo), y no funciona :s

help!
Pero que "busquedas haces" .. sobre que? .. una BBDD? ..

En SQL por lo menos no se distingue (en Mysql al menos) entre mayusculas ni minusculas ni acententos (dieresis y otros signos de puntuación) salvo que definas tus campos como "Binary" .. ahí si que se distingue una palabra con aceto y otra sin acento ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 13:07.