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>
Pergunta
Anderson Baldner
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
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.