Flux rss rapatrier une fois sur 2

Apprentilinux Messages postés 3 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007 - 6 nov. 2007 à 10:30
Apprentilinux Messages postés 3 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007 - 8 nov. 2007 à 16:49
Bonjour,


voilà mon souci le site que je récupère qu'une fois sur 2 les flux rss, il saute d'une ligne, voilà le code :
ecuperation du flux RSS
$url_flux = "http://siteweb.rss.php?published=all&author=$prenom_$nom&tampon=BLABLA&format=withoutfile";
$rss = lecteur_rss_v2($url_flux);
 
if($rss[1][0] != ""){
echo "
"separation"> 
\n".
"
"formation">\n".
"\t"paragraphe">Publications :

\n\t"paragraphe">\n";
 
$i = 1;
while($echo i]["\t<li>"".$rss[$i][0]."">".$rss[$i][1]."</li>\n";
$i++;
}
echo "\t\n
<!--fin de publication-->";
}//fin du if de publication
 
 

<!--fin de theme -->

Voilà le code source de la page où devrait s'afficher les liens, le titre 1 n'apparait pas, le 2 oui et pas le 3

Code HTML :
<!--[if !IE]><--><!----><!--[endif]--><!--[if IE]>
<![endif]-->
class="separation">&nbsp;

class="formation">
class="paragraphe">Publications :

class="paragraphe">
<li>href="siteweb/">Titre1</li>
<li>href="siteweb/">Titre2</li>20177363/en/"></li>
<li>href="siteweb/">Titre3</li>317364/en/">Titre3</li>

<!--fin de publication-->
<!-- fin du div bloc_bas-->

Merci beaucoup

4 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
6 nov. 2007 à 12:09
Salut,

Y'a pas grand monde qui va pouvoir t'aider... Tu oublies la partie la plus importante de ton code : la fonction lecteur_rss_v2(), puisque c'est sûrement d'elle que vient le problème...

Sinon, y'a un truc qui me parait louche :

while($echo i]["\t<li>".$rss[$i][1]."</li>\n";
$i++;
}

La syntaxe ne me semble vraiment, mais alors vraiment pas correcte... C'est peut-être une erreur lors du copier/coller ?

Voilà voilà... Pis attention aux lignes vierges à la fin de ton message, c'est pas confortable pour la lecture ;)
0
Apprentilinux Messages postés 3 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007
6 nov. 2007 à 15:19
Merci pour la réponse voilà le code pour le lecteur

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /><title></title><meta name="GENERATOR" content="BrOffice.org 2.2 (Linux)" /><meta name="AUTHOR" content="Saber Marouchi" /><meta name="CREATED" content="20071106;13501300" /><meta name="CHANGEDBY" content="Saber Marouchi" /><meta name="CHANGED" content="20071106;14052300" /><style type="text/css"><!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
--></style><?php

include ("./include.php");

?>

<html>

<head>

<title>Lecteur Flux RSS</title>

<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">

</head>



lecteur RSS :


<?php

$rss = array();

#$rss = lecteur_rss("http://siteweb
);

$rss =
lecteur_rss_v2("siteweb=withoutfile");

//$rss2 = lecteur_rss_v2("siteweb");

print_r($rss);

/*print_r($rss2);*/

/*

echo "0 -0 : ".$rss[9][0]."
| 0-1".$rss[9][1]."
\n";

echo "1 -0 : ".$rss[1][0]."
| 1-1".$rss[1][1]."
\n";

echo "2 -0 : ".$rss[2][0]."
| 2-1".$rss[2][1]."
\n";*/

$i=1;

while ($rss[$i][0] != "" ) {

echo "".$rss[$i][1]."
\n";

$i++;

}

/*for ($i = 1; $i <= $rss[0][0];
$i++ ){

echo "".$rss[$i][1]."
\n";

}*/

?>



</html>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 nov. 2007 à 23:33
Hello,

non, ce n'est pas le lecteur, ça...
0
Apprentilinux Messages postés 3 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 8 novembre 2007
8 nov. 2007 à 16:49
excuse cela doit-être ca

function lecteur_rss($url) {

        $output =array();
        //on parse l url
        $url_parts = parse_url($url);
        $nb_item = 0;
        $resultat = array();

        //Check si wget existe
        if ( !file_exists("/usr/bin/wget") ) {
                echo "Wget pas install?.
\n";
                exit(1);
        }

        //Execution
        exec("/usr/bin/wget "$url" -O -",$output,$ret);

        if ( $ret != 0 ){
                //echo "Wget a renvoy? une erreur, code d'erreur : $ret.
\n";
                exit(2);
        }

        //Affectation du resultat dans une chaine
        $chaine = implode("\n",$output);

        if ( !$dom = domxml_open_mem($chaine) ) {
                echo "Erreur lors de l'ouverture du document XML.
\n";
                exit (3);
        }

        //Recherche du noeud racine
        $root = $dom->document_element();

        //Recheche du noeud channel
        $child = $root->first_child();
        $child_ = 0;

        while ( !$child_ ) {
                if ( $child->node_name() == "channel" ) {
                        $child_ = 1;
                }
                else {
                        $child = $child->next_sibling();
                }
        }

        $channel = $child;

        //Recherche des noeud item
        $child = $channel->first_child();

        while ( $child ){
                if ( $child->node_name() == "item" ) {
                        $nb_item++;

                        $noeud_identifier = trouver_fils($child, "identifier");
                        $identifier = split(" ",$noeud_identifier->get_content());

                        $noeud_title = trouver_fils($child, "title");
                        $title = iconv("UTF-8","ISO-8859-1",$noeud_title->get_content());

                        $resultat[$nb_item][0] = $identifier[0];
                        $resultat[$nb_item][1] = $title;
                }
                $child = $child->next_sibling();
        }

        //echo "nb item : $nb_item";
        $resultat[0][0] = $nb_item++;
        return $resultat;

}
0
Rejoignez-nous