Dica: Pegando as notícias do Kayako via RSS
Posted on Dezembro 24th, 2006 by João Vagner Brito de Medeiros, under Desenvolvimento web, Geral.
Boa noite pessoal,
Para que não conhece, o kayako é uma suite Help Desk Software, muito boa.
Estive fazendo um script pára puxar as noticias nele postado pelo RSS, e acabei tendo alguma dificuldade para fazer ta script rodar no php4, já que no começo foi feito com simple_xml do php5, no qual é muito mais fácil manipulação de XML. Para compartilhar com vocês:
Lendo o RSS do kayako com php4 com RTA (RTA = recurso técnico alternativo), a nossa famosa gambiarra:
<?php
function untag($string, $tag)
{
$tmpval = array();
$preg = "|<$tag>(.*?)|s";
preg_match_all($preg, $string, $tags);
foreach ($tags[1] as $tmpcont){
$tmpval[] = $tmpcont;
}
return $tmpval;
}
$feed = ‘http://www.seusite.com.brcom.br/help/rss/index.php?_m=news&_a=view&group=default’;
$set=10;
ini_set(’allow_url_fopen’, true);
$fp = fopen($feed, ‘r’);
$xml = ”;
while (!feof($fp)) {
$xml .= fread($fp, 128);
}
fclose($fp);
$items = untag($xml, ‘item’);
$html = " <ul>\n";
$i=0;
foreach ($items as $item) {
if ($i < $set){
$title = untag($item, ‘title’);
$link = untag($item, ‘link’);
$html .= ‘<li>
<a href="’ . substr($link[0], 9, strlen($link[0])-12) . ‘">’ . substr($title[0], 9, strlen($title[0])-12) . "</a>
\n";
$i++;
}
}
$html .= " </ul>\n";
echo $html;
?>
Alguma dúvida? se tiver podem postar nos comentários ok?
Agora a forma mais simples e legal com php5
<?php
$xmlstring = file_get_contents("http://www.seusite.com.br/help/rss/index.php?_m=news&_a=view&group=default");
$xml = new SimpleXMLElement($xmlstring);
echo "<ul>";
for($i=0;$i<count ($xml->channel[0]->item);$i++){
echo "<li><a href=’" .$xml->channel[0]->item[$i]->link . "’ title=’" .$xml->channel[0]->item[$i]->title . "’>" . $xml->channel[0]->item[$i]->title . "</a></li>";
}
echo "</ul>";
?>
Lembrando que tive uma ajuda do Eder Freire na criação do script usando php5, e do pessoal da lista PHP-Google.
Abraços.