Ir para conteúdo
Fórum Script Brasil
  • 0

Como gerar um RSS válido em uma página


Anderson Baldner

Pergunta

e ae pessoal,na paz?

esse é um script simples que gera em uma página PHP conteúdos de um RSS.

<?php
$url = "http://z001.ig.com.br/ig/16/28/1025052/blig/rssficar/"; // Aqui vai a URL de onde será feita a extração.
$content = file_get_contents($url);//Vamos extrair o conteúdo do site e colocar na string $content. Você pode também usar o cURL se isso não funcionar.
$content = utf8_encode($content);
$linebreaks = array("\r", "\n");
$content = str_replace($linebreaks, "", $content);
//Pega a data, título e sumário
preg_match_all("/<span class=\'data_hora\'>(.+?)<\/span><\/a><br><br><b>(.*?)<\/b><br><br>(.*?)<br>/", $content, $dates_titles_summaries);
preg_match_all("/exibeComentario\\([0-9]+, \'.*?\',\'(.+?)\'\\);/", $content, $links);
// Convertendo as datas para o formato GNU (AAAA-MM-DD HH:MM)
$dates_titles_summaries[1] = preg_replace('/([0-9]+)\/([0-9]+)\/([0-9]+) ([0-9:]+)/', '$3-$2-$1 $4', $dates_titles_summaries[1]);
header("Content-type: application/rss+xml; charset=utf-8");//Envie um header ao navegador avisando que se trata de um feed RSS
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";// Prólogo XML
?>
<rss version="2.0">
<channel>
<title>Teste RSSFicar</title>
<description>Blog de exemplo para o Projeto RSSficado 2</description>
<link>http://rssficar.blig.ig.com.br/</link>
<language>pt-br</language>
<?php
    // Aqui começa o loop para a exibição de cada um dos itents do feed.
    for ($i=0; $i<sizeof($dates_titles_summaries[1]); $i++): // Todos os arrays tem (Normalmente) o mesmo tamanho...
        $title = $dates_titles_summaries[2][$i];
        $link = $links[1][$i];
        $summary = $dates_titles_summaries[3][$i];
        $date = date("D, d M Y H:i:s \G\M\T", strtotime($dates_titles_summaries[1][$i]));
?>    
    <item>
        <title><![CDATA[<?php echo $title ?>]]></title>
        <link><![CDATA[<?php echo $url . $link; ?>]]></link>
        <description><![CDATA[<?php echo $summary ?>]]></description>
        <pubDate><?php echo $date ?></pubDate>
        <guid><?php echo $url . $link; ?></guid>
    </item>
<?php endfor; ?>
</channel>
</rss>

espero que seja útil ^_^

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...