Foros del Web » Programando para Internet » PHP »

Ciclo con str_replace no me funciona

Estas en el tema de Ciclo con str_replace no me funciona en el foro de PHP en Foros del Web. Hola, esto me eesta arrojando errores y no me funciona , quiero reemplazar las coincidencias de un arreglo con otro arreglo en un archivo, me ...
  #1 (permalink)  
Antiguo 27/04/2011, 11:08
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 19
Ciclo con str_replace no me funciona

Hola, esto me eesta arrojando errores y no me funciona , quiero reemplazar las coincidencias de un arreglo con otro arreglo en un archivo, me podran hechar una manita

Código PHP:
<?php 
//cargo el archivo
$cadena file_get_contents('ESPECIALIDADES.html');

$idioma_original "dato1,dato2,dato3";

$idioma_traducido "data1,data2,data3";

$ciclo1 explode(",",$idioma_original);
$ciclo2 explode(",",$idioma_traducido);

if(
count($ciclo1) != count($ciclo2))
{
    echo 
"No coinciden";
    exit();    
}


for(
$i=0;$i<strlen($cadena);$i++){
    if(
$cadena[$i] == $ciclo1[$i]){
                
$cadena[$i] = $ciclo2[$i];        
    }
}
echo 
$cadena;

?>
__________________
http://www.solucionesrios.tk/

Visita mi Web!
  #2 (permalink)  
Antiguo 27/04/2011, 11:18
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Ciclo con str_replace no me funciona

a ver, creo que puedes cambiar esto:

Código PHP:
Ver original
  1. for($i=0;$i<strlen($cadena);$i++){
  2.     if($cadena[$i] == $ciclo1[$i]){
  3.                 $cadena[$i] = $ciclo2[$i];        
  4.     }
  5. }

por estas 2 lineas y te servirá:

Código PHP:
Ver original
  1. for($i=0;$i<count($ciclo1);$i++)
  2. str_replace ($ciclo1[$i],$ciclo2[$i],$cadena);
  #3 (permalink)  
Antiguo 27/04/2011, 11:34
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Ciclo con str_replace no me funciona

el file_get_contents no devuelve un array por lo que $cadena[$i] esta mal empleado, no se como sea el contenido de ESPECIALIDADES.html pero tal vez te funcione hacerle un explode.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 27/04/2011, 11:35
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Ciclo con str_replace no me funciona

Para sustitución de elementos en arreglos te recomendaría mejor usar preg_replace, que no requiere ciclo.
  #5 (permalink)  
Antiguo 29/04/2011, 09:22
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 19
Respuesta: Ciclo con str_replace no me funciona

Hola gracias por su ayuda, voy encaminado segun parece, pero me esta dando este error ahora:

Código:
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'H' in D:\BACKUP\Dropbox\turaser\traducir.php on line 24
Aqui esta mi codigo

Código PHP:

//cargo el archivo
$cadena file_get_contents('ESPECIALIDADES.html');

$idioma_original "dato1,dato2,...,datoN";
$idioma_traducido "dat1,data2,...,dataN";

$ciclo1 explode(",",utf8_encode($idioma_original));

$ciclo2 explode(",",utf8_encode($idioma_traducido));

if(
count($ciclo1) != count($ciclo2))
{
    echo 
"No coinciden";
    exit();    
}

for (
$i =$i count($ciclo1) ; $i++) {
    
$ciclo1[$i] = "/".$ciclo1[$i]."/";
}

print_r($ciclo1);
echo 
preg_replace($ciclo1$ciclo2$cadena); //<-- Linea 24 
__________________
http://www.solucionesrios.tk/

Visita mi Web!

Etiquetas: ciclos
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 14:43.