Foros del Web » Programando para Internet » PHP »

Aporte valor UF (MONEDA CHILENA)

Estas en el tema de Aporte valor UF (MONEDA CHILENA) en el foro de PHP en Foros del Web. Aporte Hola he visto que hay varios codigos de estos (por la web) pero ninguno es fiable por eso hice el mio propio. Código PHP: ...
  #1 (permalink)  
Antiguo 06/01/2014, 09:04
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Información Aporte valor UF (MONEDA CHILENA)

Aporte
Hola he visto que hay varios codigos de estos (por la web) pero ninguno es fiable por eso hice el mio propio.

Código PHP:
<?php
include('Simple_html_dom_parser/simple_html_dom.php');
$ano="2014";
$html file_get_html('http://www.sii.cl/pagina/valores/uf/uf'.$ano.'.htm');
$array_meces =array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
$lista=array();
$meses=0;
$dias=1;
$filas=0;
foreach(
$html->find('table.tabla td') as $e){ 
$filas++;
    
$data=$array_meces[$filas-1];
    if(!
is_array($lista[$data])){
    
$lista[$data]=array();
    }
    
$dd=(string) $e->plaintext;
    if(
$dd=="&nbsp;"){
        
$dd="";
        }else{
            
$dd=str_replace(".","",$dd);
            
$dd=$dd."~".date('Y-m-d',strtotime($ano."-".($filas)."-".$dias));    
            
array_push($lista[$data],$dd);
            }
    if(
$dias==1){
        }
    if(
$dias==31){
    
$meses++;
    
$dias=0;
    }
    if(
$filas==12){
    
$filas=0;
    
$dias++;
    }
}
print_r($lista);
?>
esto extrae la fecha y el valor de la UF para usarlo en cualquier sistema
espero les sirva.

uso esta libreria para parsear el html
http://simplehtmldom.sourceforge.net/

cambiando el valor de $ano puedes sacar otros años.
lo hice en base a la pagina de impuestos internos por que es la mas oficial que encontre.

Etiquetas: Ninguno
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:13.