Jump to content
Sign in to follow this  
ruimcosta

PHP + calendário fiscal

Recommended Posts

ruimcosta

Biba,

Desafiado por um amigo para obter o calendário fiscal do site da DGCI (http://www.portaldasfinancas.gov.pt/pt/calendario.action?month=2011-3) para o mes de Março, consegui via:

$url = 'http://www.portaldasfinancas.gov.pt/pt/calendario.action?month=2011-3';

$source = file_get_contents($url);
preg_match_all('#<div class="blueBox">(.*)</div>#s', $source, $output);

echo '<pre>';
print_r($output);
echo '</pre>';

Mas agora precisava de limpar o lixo que polui o calendario como estas tags:

<div class="blueBoxTopLeftCorner"></div>

<div class="blueBoxTopRightCorner"></div>

Entre outras. Que regras regex poderia aplicar para limpar divs, com uma classe especifica que estivessem vazias?

Prometo que no final disponibilizo o código completo para utilização livre.

Obrigado.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
ruimcosta

Há situações que por muito que queiramos evitar, acontecem! O meu obrigado Yoda. Já encontrei e vou começar a ler a documentação, qualquer duvida, conto contigo! :D


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
ruimcosta

Yoda,

Helpppp.... ehehe

Aqui tenho o código, mas retorna 7 registos a vazio:

<?php
// Classe disponível em http://simplehtmldom.sourceforge.net/
require_once "simplehtmldom/simple_html_dom.php";

$html = file_get_html('http://www.portaldasfinancas.gov.pt/pt/calendario.action?month=2011-3');

foreach($html->find('div.blueBox') as $artigo) {
    $item['titulo'] = $artigo->find('div.blueBoxTitle')->plaintext;
    $item['info']   = $artigo->find('div.blueBoxInputCell')->plaintext;

    $artigos[] = $item;
}

echo '<pre>';
print_r($artigos);
?>

Why?

Why? Porque não é por essa ordem.... Já está resolvido. Obrigado Yoda.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.