RSS 1.0 no seu site
Publicado por Mauricio 17/10/2004
[ Hits: 6.553 ]
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);
?>
funcões para conversao de uma string
Simulado semelhante ao do vol em PHP!
Converter String para Minúsculo
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (14)
Ubunto não reconhece rede ethernet (1)









