Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2012, 13:43
sk0rpi0n
 
Fecha de Ingreso: julio-2009
Mensajes: 121
Antigüedad: 14 años, 9 meses
Puntos: 1
Reconocer y Modificar String en txt

Gente, tengo aquí un gran dilema... tengo un archivo .TXT... con mas de mil quinientas entradas separadas por tabulación... en medio de todo esto tengo lo siguiente:

Código:
additional_make_multi_list={{{{[areal];1680000000;2160000000;100}};100}}
NOTA: aveces no esta puesto al lado de "additional_make_milti_list="

Muchos de estos y con diferentes valores...

Bien lo que yo necesitaria es ejecutar un php y que me divida esos valores por "120"... y los guarde luego....

PERO!!!! solo debe modificar el 1680000000 y 2160000000 el 100 debe quedar como está... y en algunos es un numero diferente!

yo tengo hecho el siguiente script... pero no me funciona he hecho varias modificaciones y he conseguido que lo "modifique y lo guarde" pero solo me agrega un simbolo raro al final de la string a modificar... y lo guarda.

Mi codigo es el siguiente:

Código PHP:
 <?php

    $areal 
120;
     
    
$oh fopen("presumen.txt"'r');
    
$gh fopen("modificado.txt"'w');
     
    while(!
feof($oh)) {
            
$row trim(fgets($oh));
            
$row explode("        ",$row);
    
//      print_r($row);
            
$output "";
            for(
$i=0$i<count($row);$i++){
      if(
strripos($row[$i], "dditional_make_multi_list=")){
                            
$len strlen("additional_make_multi_list=");
                            
$output .= "additional_make_multi_list=";
                            }
                            
$pos 0$list ""$item "";
                            
$drop_a explode(";"substr($row[$i],$lenstrlen($row[$i]) - $len));
                            for(
$e=0$e count($drop_a); $e++){
                                    if(
$drop_a[$e] == "{}") { $list "{}}"; break; }
                                    if(
$drop_a[$e][0] != "{"){
                                            
$initial strlen($drop_a[$e]); $line str_replace("}"""$drop_a[$e]); $final strlen($line);
                                            
$pos $initial $final;
                                            if(
$pos != 0){
                                                    if((
$return $line/$drop) > 100$return 100;
                                                    
$list .= $return.str_repeat("}",$pos).";";
                                            }
                                            else if(
$item == "areal" && $max 2){
                                                    
$list .= ($line $areal).";";
                                                    
$max++;
                                            }
                                            else {
                                                    
$item "";
                                                    
$list .= $line.";";
                                            }
                                    } else {
                                            
$item str_replace(array("{","[","]"),"",$drop_a[$e]);
                                            
$list .= $drop_a[$e].";"$max 0;
                                    }
                            }
                            if(
strpos($row[$i], "}")) $list substr($list0, (strlen($list)-1));
                            
$output .= $list."      ";
                    }
                    else 
$output .= $row[$i]."      ";
            }
            
fputs($gh,$output."\r\n");
    
//      if($z++ > 30) {fclose($gh); die();}
    
}
    
fclose($gh);
    
fclose($oh);
     
    
?>
Alguna idea (?) esto ya me esta volviendo loco