RSS 1.0 no seu site
Publicado por Mauricio 17/10/2004
[ Hits: 6.461 ]
Homepage: http://www.mbmaciel.com
Código que gera o formato RSS para seu site, é compatível com vários programas leitores como : Evolution, Straw, Firefox e outros.
Instruções de uso no próprio código.
<? // *********************************************************** // RSSFICAR v 1.0 // gerador de páginas com o formato RSS 1.0 // Código criado por goran_johansson at yahoo dot com // Modificado por Mauricio Maciel <mauricio@vendomicro.com.br> // Fonte: http://www.php.net/manual/en/function.utf8-decode.php // ************************************************************ // Instruções de uso // // A string "$url" é o endereço da página de onde vai ser a fonte dos dados e de onde será gerado o RSS, ela deve ser criada para este código funcionar. Ela pode ser uma página bem simples e não precisa ser mostrada aos visitantes do seu site. // Esta página deve ter a tag <title> que vai ser o título do seu RSS, e cada notícia (ou post) deve ter o seguinte formato: // <span class="rss:item"><a href="http://www.seusite.com.br/artigo.php?id=$id">$titulo</a>--$descricao</span> // Preste atenção ao "--" ou o script não vai funcionar direito! // Veja este código funcionando em www.vendomicro.com.br/rssficar.php // Qualquer dúvida ou sujestão para melhoria do código é bem vinda. Mande um email para mauricio@vendomicro.com.br // // Mude os dados abaixo para os seus. Não esqueça de criar a página para a string $url com o formato explicado acima! $descsite="Boas novas - seu site de notícias"; $site="http://www.boasnovas.com.br"; $criador="Murilo Malandro"; $url="http://www.boasnovas.com.br/fonterss.php"; $copyright="Copyright © 2004 Good News"; // A partir daqui não é necessário mais modificações function parse_html($descsite,$site,$criador,$url,$copyright){ $itemregexp = "%rss:item *\" *>(.+?)</span>%is"; $allowable_tags = "<A><B><BR><BLOCKQUOTE><CENTER><DD><DL><DT><HR><I><IMG><LI><OL><P><PRE><U><UL>"; $urlparts = parse_url($url); if ($urlparts[path] == "") $url .= "/"; if ($fp = @fopen($url, "r")) { while (!feof($fp)) { $data .= fgets($fp, 128); } fclose($fp); } $data = smart_utf8_decode($data); eregi("<title>(.*)</title>", $data, $title); $channel_title = $title[1]; $match_count = preg_match_all($itemregexp, $data, $items); $match_count = ($match_count > 25) ? 25 : $match_count; header("Content-Type: text/xml"); $output .= "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n\n"; $output .= "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\" xmlns:admin=\"http://webns.net/mvcb/\" xmlns:cc=\"http://web.resource.org/cc/\" xmlns=\"http://purl.org/rss/1.0/\">\n\n"; $output .= " <channel rdf:about=\"".$site."\">\n"; $output .= " <title>". htmlentities(strip_tags($channel_title)) ."</title>\n"; $output .= " <link>".$site."</link>\n"; $output .= " <description>".$descsite."</description>\n"; $output .= " <dc:language>pt_BR</dc:language>\n"; $output .= " <dc:creator>".$criador."</dc:creator>\n"; $output .= " <dc:rights>".$copyright."</dc:rights>\n"; $output .= " <admin:generatorAgent rdf:resource=\"".$site."\" />\n\n "; $output .= "<items>\n"; $output .= "<rdf:Seq>"; for ($x=0; $x< $match_count; $x++) { $desc = $items[1][$x]; $item_url = get_link($desc, $url); $link = htmlentities($item_url); $output .= " <rdf:li rdf:resource=\"". $link ."\" />\n"; } $output .= " </rdf:Seq>\n"; $output .= "</items>\n\n"; $output .= "</channel>\n\n"; for ($i=0; $i< $match_count; $i++) { $desc = $items[1][$i]; $title = explode ("--", (strip_tags($desc))); $item_url = get_link($desc, $url); $link = htmlentities($item_url); $desc = str_replace('&', '&', trim(htmlentities(strip_tags($desc)))); $output .= " <item rdf:about=\"". $link ."\">\n"; $output .= " <title>". $title[0] ."</title>\n"; $output .= " <link>".$link."</link>\n"; $output .= " <description>". $title[1] ."</description>\n"; // $output .= " <dc:subject>Assunto</dc:subject>\n"; // todo $output .= " </item>\n\n"; } $output .= " </rdf:RDF>\n"; print $output; } function get_link($desc, $url) { if (stristr($desc, "href")) { $linkurl = stristr($desc, "href"); $linkurl = substr($linkurl, strpos($linkurl, "\"")+1); $linkurl = substr($linkurl, 0, strpos($linkurl, "\"")); $linkurl = trim($linkurl); return $linkurl; } else { return $url; } } function smart_utf8_decode($in_str){ // Replace ? with a unique string $new_str = str_replace("?", "q0u0e0s0t0i0o0n", $in_str); // Try the utf8_decode $new_str=utf8_decode($in_str); // if it contains ? marks if (strpos($new_str,"?")>0) { // Something went wrong, set new_str to the original string. $new_str=$in_str; }else{ // If not then all is well, put the ?-marks back where is belongs $new_str = str_replace("q0u0e0s0t0i0o0n", "?", $new_str); } return $new_str; } parse_html($descsite,$site,$criador,$url,$copyright); ?>
Graficos 3D simples e configuraveis com PHP
Gerador de palavras aleatórias
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)
Pastas da raiz foram para a área de trabalho (4)
usb's param de funcionar do nada (6)
Como criar condições de monitoria de 2 IPs no Zabbix (0)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (2)