Foros del Web » Programando para Internet » PHP »

Solo un comentario para compartir

Estas en el tema de Solo un comentario para compartir en el foro de PHP en Foros del Web. Hoy he tenido un dia bastante complicado con una funcion. la funcion es simple se las escribo abajo, solo reemplaza los acentos por la misma ...
  #1 (permalink)  
Antiguo 01/06/2007, 14:59
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 20 años, 9 meses
Puntos: 0
Solo un comentario para compartir

Hoy he tenido un dia bastante complicado con una funcion.
la funcion es simple se las escribo abajo, solo reemplaza los acentos por la misma vocal sin acentos.
El tema es que si al archivo lo genero desde dreamweaver o notepad, funciona correctamente, pero si lo genero a travez de eclipse, no detecta los acentos.
Esto que suena a una locura me tomo un par de horas darme cuenta, probamos de todo, hasta cambiar la configuracion del sobre el tipo de archivo que crea el eclipse e igualarlo a utf8 como lo hace dreamweaver pero nada


$unaLinea = conAcento($unaLinea);

para agregar, si ejecutamos

Código PHP:
echo $unaLinea conAcento('América'); 
el archivo generado con eclipse imprime América ; // con acento
y el archivo generado con DW imprime America;// sin acento
es "muy raro no?" aunque suene un termino muy comun en programacion

Código PHP:
<?php 

function conAcento($col){
$flag 0;
if(
strstr($col,'á')) { $col str_replace("á","a",$col);//$flag = 1;
}
if(
strstr($col,'é')) { $col str_replace("é","e",$col);//$flag = 2;
}
if(
strstr($col,'í')) { $col str_replace("í","i",$col);//$flag = 3;
}
if(
strstr($col,'ó')) { $col str_replace("ó","o",$col);//$flag = 4;
}
if(
strstr($col,'ú')) { $col str_replace("ú","u",$col);//$flag = 5;
}
//if($flag != 0) {echo "<br>".$col;echo $flag;}
    
return $col;
}

?>
  #2 (permalink)  
Antiguo 01/06/2007, 15:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Solo un comentario para compartir

Mmm si lees el manual, el uso de strstr es un poco recomendable para la comparacion de caracteres, porque no pruebas esta funcion:
Código PHP:
function sinAcentos$palabra ) {
       
$search = array( 'á''é''í''ó''ú' );
       
$replace = array( 'a''e''i''o''u' );

       return 
str_ireplace$search$replace$palabra );

  #3 (permalink)  
Antiguo 01/06/2007, 15:21
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: Solo un comentario para compartir

gracias por el aporte, pero tb use algo mucho mas basico q lo de arriba hice esto:
Código PHP:
str_replace("é","e",'América'
y lo mas insolito,
el archivo generado con eclipse imprime América ; // con acento
y el archivo generado con DW imprime America;// sin acento
mas q esto nose, jaja tb use str_ireplace y nada.
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 07:20.