MODIFICATION SCRIPT Parser RSS-à l'aide svp !

Résolu
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   -  
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai récupérer un script GPL pour recuperer les infos des flux RSS.
Le script est composé de deux fichiers :

rss.php
<?php
error_reporting(E_ALL ^ E_NOTICE);

function render_news($feed_url, $showdetail, $headlinestyle, $detailstyle) {
	global $show_detail, $headline_style, $detail_style, $max, $count, $insideitem, $insideimage;
	$insideitem=false;
	$insideimage=false;
	$count = 0;
	$show_detail = $showdetail;
	$headline_style = $headlinestyle;
	$detail_style = $detailstyle;

	$xml_parser = xml_parser_create();
	xml_set_element_handler($xml_parser, "startElement", "endElement");
	xml_set_character_data_handler($xml_parser, "characterData");
	$fp = @fopen($feed_url,"r");
//		   or die("Error reading RSS data.");
	if ($fp) {
		while ($data = fread($fp, 4096))
	   	xml_parse($xml_parser, $data, feof($fp))
			   or die(sprintf("XML error: %s at line %d",  
				   xml_error_string(xml_get_error_code($xml_parser)),  
				   xml_get_current_line_number($xml_parser)));
		fclose($fp);
		} else {
		echo '<span class="'. $detail_style .'">Syndicated content not available</span>';
		}
		
	
	// Free up memory used by the XML parser
	xml_parser_free($xml_parser);
}


function startElement($parser, $name, $attrs) {
	global $insideitem, $tag, $title, $description, $link, $image, $insideimage;
	if ($insideitem || $insideimage) {
		$tag = $name;
	} 
	if ($name == "ITEM" ) {
		$insideitem = true;
	} 
	if ($name == "IMAGE") {
		$insideimage = true;
		
	}
}

function endElement($parser, $name) {
	global $insideitem, $tag, $title, $description, $link, $image, $insideimage, $show_detail, $headline_style, $detail_style, $count, $max;

	if ($name == "URL") 
	{
		$insideimage=false;
		$image="";
	} else if ($name == "ITEM" && $count < $max) {
		$count++;
		printf('<a href="%s" class="'. $headline_style .'" target="_blank"><b>%s</b></a><br>',trim($link),trim($title));
		if ($show_detail) 
			printf('<span class="'. $detail_style .'">%s</span><br>',trim($description));
		else {
			echo "<br>";
			printf('<span class="'. $detail_style .'">%s</span><br>',trim($description));
			echo "<br>";
		}
		$title = "";
		$description = "";
		$link = "";
		$insideitem = false;
	} else if ($count >= $max) {
		$title = "";
		$description = "";
		$link = "";
		$insideitem = false;
	}
}

function characterData($parser, $data) {
	global $insideitem, $tag, $title, $description, $link, $image, $insideimage;
	if ($insideimage) {
		switch ($tag) {
			case "URL":
			$image .= $data;
			break;
		}
	} 
	if ($insideitem ) {
	switch ($tag) {
		case "TITLE":
		$title .= $data;
		break;
		case "DESCRIPTION":
		$description .= $data;
		break;
		case "LINK":
		if (!is_string($link)) $link="";
		$link .= $data;
		break;
	}
	}
}
?>


et un code pour l'executer

<?php
include("rss.php");

//$headline_style = 'news';
$headline_style = '';
$description_style = 'Arial,';
$feed_url = 'http://www.mon.url-vers/lefichier/rss.xml';
$show_detail = false;
$insideitem = false;
$tag = "";
$title = "";
$description = "";
$link = "";
$image = "";
$insideimage = false;
$max = 3;
$count = 0;

render_news($feed_url, $showdetail, $headlinestyle, $detailstyle) ;
?>


J'ai plusieurs soucis....

1 Le premier c'est que pour pouvoir afficher la description de chaque article je suis obliger de forcer une boucle if : (normalement dans le else je n'ai rien, et je ne sait pourquoi a chaque fois je tombe dans l'else)

		[B]if/B ($show_detail) 
			[B]printf('<span class="'. $detail_style .'">%s</span><br>',trim($description));/B
		[B]else/B {
			echo "<br>";
			[B]printf('<span class="'. $detail_style .'">%s</span><br>',trim($description));/B
			echo "<br>";


Comment eviter ce bouclage? Pourquoi la description ne s'affiche pas?

2 Mon second problème est due aux accents :

[QUOTE] données - Sécurité - sûreté /QUOTE impossible de comprendre le texte ! ma page php contenant le code d'execution est pourtant en [B]charset=iso-8859-1/B

Comment changer le type iso du resultat obtenu ??



3 Mon troisième problème c'est qu'en affichant les lien rss et la description, en bas du flux "http://rss.feedsportal.com/c/681/f/8820/index.rss" apparaissent les images "partager cet article" et "bookmark" .

Comment supprimer cette affichage d'image?

Je voudrais par la suite en arriver à un resultat comme
http://www.secuser.com/actu/index.htm
Soft, sans erreur d'accent -utf-8/iso-8859-1, et avec une belle mise en forme... :roll:

Est-ce possible en PHP ??

En vous remerciant d'avance pour votre aide et vos éclaircissement !!!
A voir également:

8 réponses

-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   84
 
salut tout le monde, troisieme mois passé sur ce pronleme pouvez vous m'aider s'il vous plait ?
Merci
1
-CCM-
 
la fonction php utf8_decode n'y fai rien.... un peu d'aide svp.
Merci
0
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   84
 
Personne pour m'aider svp?

--> Comment eviter ce bouclage? Pourquoi la description ne s'affiche pas?
La date de publication se trouve entre des balises PubDate, comment l'afficher ??

Merci a vous
0
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   84
 
up
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   84
 
up.

svp un peu d'aide
0
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   84
 
up
0
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   84
 
svp up
sa fait deux mois que je suis dessus !!

La date de publication se trouve entre des balises PubDate, comment l'afficher svp ??
0
-CCM- Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   84
 
personne pour m'aider?!??

C'est pas possible !
0