Martine et Olivier ALLAIS Chambres d'hôtes Corbières

Chambres et table d'hôtes dans les Hautes Corbières - Aude

Accueil Chambres Hotes

Afficher proprement un flux RSS sur un site web


Francais   English  

Les Jourdets

Chambres d'hôtes
Table d'hôtes

Martine & Olivier ALLAIS

Les Jourdets
11330 Lairière, France

mail
Email
mallais@free.fr

phone
Tel GSM
04 68 70 04 76 06 08 33 60 32

Hautes Corbières - Aude

les Jourdets

L'affichage d'un flux RSS sur un site est parfois bloquée par des caractères parasites ( non ascii ) présents dans le flux. C'est un bug du générateur qui vous stoppe mais à moins de contrôler celui ci, le seul moyen est de détecter ces caractères et de les éliminer

Ce nettoyage est appelé ici dans la fonction cleanutf() en php.

Exemple de décodage avec curl

<?php

function cleanutf($str)
{
	$strout = htmlentities($str,ENT_NOQUOTES,"UTF-8"); // pour les accents
	$strout = preg_replace('/[^(\x20-\x7F)]*/','',$strout );
	return $strout;
}

$feedUrl = 'http://www.ideesgo.com/rss/flux11.xml';  
   
$ch = curl_init();  
$timeout = 5; // set to zero for no timeout  
curl_setopt ($ch, CURLOPT_URL, $feedUrl);  
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
$rawFeed = curl_exec($ch);  
curl_close($ch);  

// verif qu'on est en UTF-8
$rawFeed = mb_convert_encoding( $rawFeed, 'UTF-8','auto'); 
  
//load the simpleXML object  
$xml = new SimpleXmlElement($rawFeed);  
  
$title = $xml->channel->description;
$html = '<ul>';  

// construction de la liste
foreach ($xml->channel->item as $item)   
	{       
    $html .= '<li><a href="'.$item->link.'" title="'.$item->title.'">'.$item->title.'</a></li>';
    $html .= '<ul><li>'.cleanutf((string)$item->description).'</li></ul>';  
	}  
  
$html .= '</ul>'; 
$html = addslashes ($html);
?>
Retour aux codes