Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de PHP
SEÇÕES
Manuais relacionados
+Workshop de PHP
Categorias
+Scripts em PHP

Índice do Manual Workshop de PHP
+ Gestão de ficheiros através de PHP
+ Upload de ficheiros com PHP
+ Verificar a existência de uma URL
+ Leitura sequencial de ficheiros com PHP
+ Escritura em ficheiros com PHP
+ Gestão de directórios com PHP
+ Função que escreve um campo select com valores de uma base de dados
+ Receber o último ID de uma inserção com PHP e MySQL
+ Recolher dados de um Select Multiple com PHP
+ Enviar e-mails pelo PHP
+ Validar um endereço email em PHP
+ Loop para receber todas as variáveis por POST em PHP
+ Enviar um formulário por mail com PHP
+ Paginação de resultados com PHP e MySQL
+ Usuários ativos com PHP
+ Listas de elementos com cores alternas em PHP
+ Programas de livre distribuição em PHP
+ phpMyAdmin
+ Formatação de uma cadeia
+ Cálculo dos dias de um mês em PHP
+ Contador simples para páginas PHP
+ Avaliações dos usuários em PHP
+ Rastrear os robôs de buscadores
+ Recomendar um site usando PHP
+ Criação de um log de erros
+ Comprimir página PHP
+ Contador PHP com imagens
+ Editor PHP Maguma Studio
+ SiteMaps de Google em PHP
+ Teste de velocidade de conexão à Internet
+ Mostrar Conteúdo de acordo com o país em PHP
+ Conteúdos em banco de dados com PHP
+ Problemas com as datas em timestamp Unix de PHP
+ Contar o número de linhas e caracteres em arquivo PHP
+ Transformação Doc, Odt ou Rtf para PDF
+ Preencher um arquivo RTF e gerar o PDF
+ Converter arquivos ods ou xls para pdf
+ PHP isam, ferramenta Web para Arquivos Planos
+ Undefined variable ou Undefined index
+ Agregar carinhas ao sistema
+ Paginator, script para paginação com PHP e MySQL
+ Executar scripts PHP automaticamente através do cron com CURL
+ Uso do FTP com PHP
+ Instalação de One or Zero PHP Helpdesk
+ Portal PHP Nuke
+ Gerando feed RSS de notícias em PHP
+ Blasten blt-SEARCH 1.0.5
+ Classes e Objetos em PHP
+ Recuperando a qualidade de uma imagem JPEG
+ Comprovar se existe o domínio do correio
+ Tutorial de BBCode
+ Função em PHP para o cálculo de minutos transcorridos em duas horas dadas
+ Criação de gráficos em PHP com JpGraph
+ Gerar documentos de Word RTF com PHP
+ Introdução ao Symfony
+ Arredondar decimais em PHP
+ Envio de boletins a e-mails de um banco de dados MySQL
+ Htaccess e páginas dinâmicas
+ Criando imagens com PHP
+ Programar um buscador com PHP e MySQL
+ Loop para receber todos os dados de uma fila de um recordset com PHP

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Gerando feed RSS de notícias em PHP

Como criar um sistema RSS em PHP para publicar a informação das novidades ou notícias de nosso web site ou blog.


Muitas vezes nos perguntamos como gerar feed RSS para nossos blogs ou sistema de notícias. Assim como muitos, eu pensava que era tarefa mais complicada, porém com observação e um pouco de engenho tudo se pode. A seguir explicarei uma das formas de gerar RSS para nossos sistemas. Necessitaremos que nossas notícias sejam recolhidas de um banco de dados.

O XML às vezes é complexo de entender, para mim ainda é, porém como disse: Com engenho tudo é possível. O primeiro é saber: Que etiquetas ocupam as diferentes versões de RSS?, pois fácil, vamos a algum site que gere tais RSS, por exemplo, um Blog e olhamos o código fonte do tal RSS. Já temos aproximadamente 90% do "trabalho" feito, só falta o código de nosso documento em PHP. Há que ter claro que o XML permite que criemos nossas próprias etiquetas, as que veremos a seguir, podemos tomá-las como padrão para os feeds.

Para o exemplo se utilizará RSS 2.0:

<?
header('Content-Type: text/xml'); //Indicamos ao navegador que é um documento em XML
//Versão e jogo de caracteres de nosso documento
echo <?xml versao="1.0" encoding="iso-88859-1"?>;
//Aqui a conexão ou arquivo de conexão ao banco de dados
//Fazemos a consulta e a ordenamos por post para mostrar sempre o último
$resultado=mysql_query("select * from noticias order by id_post Desc",$link);
$row=mysql_fetch_array($resultado);
//"Cortaremos" o artigo em 300 caracteres para nossa descrição
$descricao=substr($row[artigo],0,300)."...";
// E geramos nosso documento
echo '<rss versao="2.0">
<channel>
    <title>Nome de nosso blog ou web</title>
    <link>http://www.minhaurl.com/</link>
    <language>es-CL</language>
    <description>Descrição de nosso blog ou web</description>
    <generator>Autor del RSS</generator>
    <item>
<title>'.$row[titulo].'</title>
<link>http://www.minhaurl.com/noticias.php?id='.$row[id_post].'</link>
<comments>http://www.minhaurl.com/comentarios.php?id='.$row[id_post].'
</comments>
<pubDate>'.$row[data].'</pubDate>
<category>'.$row[categoria].'</category>
<guid>http://www.miurl.com/comentarios.php?id='.$row[id_post].'</guid>
<description><![CDATA['.$descripcion.']]></description>
<content:encoded><![CDATA['.$row[artigo].']]></content:encoded>
</item></channel></rss>';
?>


Podemos ver que a estrutura do documento é simples e até repetitiva. Basicamente, podemos dividi-lo em dois: <channel> e <item> em onde <channel> contem a <item>. O primeiro bloco antes de <item> se enche com os dados de nosso blog ou web, logo sob a etiqueta mencionada vão os dados do post ou notícia a mostrar

Uma prática recomendada é utilizar a etiqueta <content:encoded>, para proporcionar a informação que contem nosso artigo completo ao invés de <description> por que?, porque os sistemas de recopilação de feeds ou leitura destes, lêem a etiqueta <description> para dar ao leitor um resumo do que trata o post. Mencionamos, porque há sistemas de blog que usam <description> para gerar a informação do artigo completo e não dão a opção de ver se queremos ou não seguir lendo o que nos oferecem, a parte de ocupar espaço. Para estas duas etiquetas usamos a seção XML<![CDATA]]>(character data), basicamente para que o XML não interprete certos caracteres como próprios de sua linguagem e trate de executá-los.

Por último, nos cabe dizer que devem fechar bem todas as etiquetas do documento ou notícia a qual se fará feed, ou senão dará um charmoso erro.

Quanto ao script,, pode-se dar mais opções (embora isto seja o mais básico), como por exemplo: Fazer um while logo de <item> e mostrar todas as notícias, ou a quantidade que quiser, usando limit na chamada ao banco.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de PHP
Anterior: Portal PHP Nuke

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Scripts em PHP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites