EM DESTAQUE
Vizela vai criar Provedor do Idoso para reforçar proteção da população sénior
Nova resposta social pretende defender os direitos dos idosos, combater o isolamento e aproximar os cidadãos dos serviços municipais e…Domingo, 12 Jul 2026INEM averigua envio de meios de Guimarães para as Taipas após morte de homem em paragem cardiorrespiratória
Depois de terem sido acionados os Bombeiros Voluntários de Guimarães para uma ocorrência na área de atuação dos Bombeiros das…Domingo, 12 Jul 2026Governo reforça regras para extração e processamento de mel destinado ao consumo humano
Apicultores terão de comunicar localização das instalações, número de colmeias e intenção de venda direta ao consumidor.Domingo, 12 Jul 2026Igreja da Misericórdia de Vila Nova de Cerveira vai ser alvo de reabilitação profunda
A Igreja da Misericórdia de Vila Nova de Cerveira, localizada no interior do Castelo de Cerveira, vai ser submetida a…Domingo, 12 Jul 2026Esposende oferece fichas de atividades a mais de 1.400 alunos do 1.º ciclo
Autarquia investe 65 mil euros na medida, que passa a ser gerida através de uma plataforma digital.Domingo, 12 Jul 2026Exposição conta 150 anos da PSP em Viana do Castelo
Está patente, até 21 de julho, no Museu de Artes Decorativas vianense.Domingo, 12 Jul 2026Nossa Senhora do Sameiro e Senhora da Torre juntam-se às celebrações de Nossa Senhora da Paz em Amares
Esta manhã (c/ Galeria de Fotos)Domingo, 12 Jul 2026UMinho reforça papel na aliança europeia Arqus durante conferência na Irlanda
Reitor moderou sessão de abertura e docente da Escola de Engenharia foi distinguido com prémio de excelência pedagógica.Domingo, 12 Jul 2026Gasóleo pode subir sete cêntimos já na segunda-feira
A gasolina deverá ficar cerca de três cêntimos mais cara por litro.Domingo, 12 Jul 2026PSP alerta para aumento de burlas com falsos funcionários bancários após registar 24 casos num só dia
Polícia identifica crescimento acentuado de fraudes por telefone e SMS.Domingo, 12 Jul 2026
MINHO
PAÍS
EM DESTAQUE
Vizela vai criar Provedor do Idoso para reforçar proteção da população sénior
Nova resposta social pretende defender os direitos dos idosos, combater o isolamento e aproximar os cidadãos dos serviços municipais e…Domingo, 12 Jul 2026INEM averigua envio de meios de Guimarães para as Taipas após morte de homem em paragem cardiorrespiratória
Depois de terem sido acionados os Bombeiros Voluntários de Guimarães para uma ocorrência na área de atuação dos Bombeiros das…Domingo, 12 Jul 2026Governo reforça regras para extração e processamento de mel destinado ao consumo humano
Apicultores terão de comunicar localização das instalações, número de colmeias e intenção de venda direta ao consumidor.Domingo, 12 Jul 2026Igreja da Misericórdia de Vila Nova de Cerveira vai ser alvo de reabilitação profunda
A Igreja da Misericórdia de Vila Nova de Cerveira, localizada no interior do Castelo de Cerveira, vai ser submetida a…Domingo, 12 Jul 2026Esposende oferece fichas de atividades a mais de 1.400 alunos do 1.º ciclo
Autarquia investe 65 mil euros na medida, que passa a ser gerida através de uma plataforma digital.Domingo, 12 Jul 2026Exposição conta 150 anos da PSP em Viana do Castelo
Está patente, até 21 de julho, no Museu de Artes Decorativas vianense.Domingo, 12 Jul 2026Nossa Senhora do Sameiro e Senhora da Torre juntam-se às celebrações de Nossa Senhora da Paz em Amares
Esta manhã (c/ Galeria de Fotos)Domingo, 12 Jul 2026UMinho reforça papel na aliança europeia Arqus durante conferência na Irlanda
Reitor moderou sessão de abertura e docente da Escola de Engenharia foi distinguido com prémio de excelência pedagógica.Domingo, 12 Jul 2026Gasóleo pode subir sete cêntimos já na segunda-feira
A gasolina deverá ficar cerca de três cêntimos mais cara por litro.Domingo, 12 Jul 2026PSP alerta para aumento de burlas com falsos funcionários bancários após registar 24 casos num só dia
Polícia identifica crescimento acentuado de fraudes por telefone e SMS.Domingo, 12 Jul 2026
MINHO
PAÍS
JORNAL O DESPORTIVO
<?php
function fetch_rss_cached($url, $cache_seconds = 600) {
$key = 'rss_cache_' . md5($url);
$cached = get_transient($key);
if ($cached !== false) {
return simplexml_load_string($cached);
}
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'WP RSS Fetcher');
$data = curl_exec($ch);
curl_close($ch);
if (!$data) return null;
set_transient($key, $data, $cache_seconds);
return simplexml_load_string($data);
}
function time_ago($datetime) {
$time = strtotime($datetime);
$diff = time() - $time;
if ($diff < 60) return $diff . ' segundos atrás';
if ($diff < 3600) return floor($diff / 60) . ' minutos atrás';
if ($diff < 86400) return floor($diff / 3600) . ' horas atrás';
if ($diff < 604800) return floor($diff / 86400) . ' dias atrás';
return date('d/m/Y H:i', $time);
}
$rss = fetch_rss_cached('https://www.desportivovaledohomem.pt/category/destaque/feed/', 600);
if (!$rss || empty($rss->channel->item)) {
echo '<!-- RSS vazio ou erro -->';
return;
}
$items = $rss->channel->item;
$count = 0;
echo '<div class="rss-posts">';
foreach ($items as $item) {
if ($count >= 5) break;
$title = (string) $item->title;
$link = (string) $item->link;
$pubDate = (string) $item->pubDate;
$timeAgo = time_ago($pubDate);
$categoryText = isset($item->category[0]) ? (string) $item->category[0] : '';
echo '<div class="rss-post">';
echo '<p class="rss-meta">' . esc_html($timeAgo) . ' - ' . esc_html($categoryText) . '</p>';
echo '<h3 class="rss-title"><a href="' . esc_url($link) . '" target="_blank" rel="noopener">' . esc_html($title) . '</a></h3>';
echo '</div>';
$count++;
}
echo '</div>';
?>
.rss-posts {
font-family: "MYRIAD PRO";
font-weight: 400;
}
.rss-post {
padding: 10px 0;
border-bottom: 1px solid #8E8E8D;
}
.rss-meta {
color: #9e9e9e;
font-size: 11px;
margin-bottom: 4px;
}
.rss-title {
font-size: 14px;
line-height: 1.4;
margin: 0;
}
.rss-title a {
text-decoration: none;
color: #363636;
font-family: "MYRIAD PRO";
font-weight: 400;
font-size: 17px;
}
.rss-post:last-child {
border: none;
}








































