Comment afficher les images d'un flux rss

Résolu/Fermé
theliopro Messages postés 3 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 25 juin 2012 - 22 juin 2012 à 11:12
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 - 26 juin 2012 à 16:11
Bonjour,
Bonjour,
je suis entrain d'essayer de faire afficher un flux RSS sur ma page web.
J'arrive à afficher les liens avec leurs titres, descriptions et dates mais je n'arrive pas à afficher leurs images
Voici un exemple de ce que je veux faire: https://dupont-orthez.notaires.fr/
j'utilise le rsslib:
<? Php
/ *
RSS Extractor et Displayer
(C) 2007-2009 Scriptol.com - Licence Mozilla 1.1.
rsslib.php

Exigences:
- PHP 5.
- Un flux RSS.

Utilisation de la bibliothèque:
Insérez ce code dans la page qui affiche le flux RSS:

<? Php
require_once ("rsslib.php");
écho RSS_Display ("https://www.xul.fr/rss.xml", 15);
?>

* /
$ RSS_Content = array ();

RSS_Tags fonction ($ item, $ type)
{
$ Y = array ();
$ Tnl = $ item-> getElementsByTagName ("title");
$ Tnl = $ tnl-> item (0);
$ Title = $ tnl-> firstChild-> textContent;

$ Tnl = $ item-> getElementsByTagName ("link");
$ Tnl = $ tnl-> item (0);
$ Link = $ tnl-> firstChild-> textContent;

$ Tnl = $ item-> getElementsByTagName ("description");
$ Tnl = $ tnl-> item (0);
$ Description = $ tnl-> firstChild-> textContent;

$ Tnl = $ item-> getElementsByTagName ("image");
$ Tnl = $ tnl-> item (0);
$ Image = $ tnl-> firstChild-> data;

$ Tnl = $ item-> getElementsByTagName ("pubDate");
$ Tnl = $ tnl-> item (0);
$ Date = $ tnl-> firstChild-> textContent;
$ Date = date ("d / m / Y", strtotime ("$ date"));

$ Y ["titre"] = $ titre;
$ Y ["link"] = $ lien;
$ Y ["description"] = $ description;
$ Y ["image"] = $ image;
$ Y ["date"] = $ date;
$ Y ["type"] = $ type;


return $ y;
}


RSS_Channel fonction ($ channel)
{
global $ RSS_Content;

$ Articles = $ channel-> getElementsByTagName ("item");

/ / Traitement du canal

$ Y = $ (RSS_Tags canal, 0); / / obtenir la description du canal, tapez 0
array_push ($ RSS_Content, $ y);

/ / Traitement des articles

foreach ($ items as $ item)
{
$ Y = RSS_Tags ($ item, 1); / / obtenir une description de l'article, de type 1
array_push ($ RSS_Content, $ y);
}
}

fonction RSS_Retrieve ($ url)
{
global $ RSS_Content;

$ Doc = new DOMDocument ();
$ Doc-> load ($ url);

$ De canaux = $ doc-> getElementsByTagName ("channel");

$ RSS_Content = array ();

foreach ($ canaux comme le canal $)
{
RSS_Channel ($ channel);
}

}


RSS_RetrieveLinks function ($ url)
{
global $ RSS_Content;

$ Doc = new DOMDocument ();
$ Doc-> load ($ url);

$ De canaux = $ doc-> getElementsByTagName ("channel");

$ RSS_Content = array ();

foreach ($ canaux comme le canal $)
{
$ Articles = $ channel-> getElementsByTagName ("item");
foreach ($ items as $ item)
{
$ Y = RSS_Tags ($ item, 1); / / obtenir une description de l'article, de type 1
array_push ($ RSS_Content, $ y);
}

}

}


RSS_Links function ($ url, $ size = 15)
{
global $ RSS_Content;

$ Page = "<ul>";

RSS_RetrieveLinks ($ url);
if ($ taille> 0)
$ Recents = array_slice ($ RSS_Content, 0, $ taille + 1);

foreach ($ recents as $ article)
{
$ Type = $ article ["type"];
if ($ type == 0) continue;
$ Title = $ article ["titre"];
$ Link = $ article ["link"];
$ Page = "<a <li> target=\"_blank\" href=\"$link\"> $ titre </ a> </ li> \ n".;
}

$ Page = "</ ul> \ n".;

return $ page;

}



RSS_Display fonction ($ url, $ size = 15, $ site = 0)
{
global $ RSS_Content;

$ A ouvert = false;
$ Page = "";
$ Site = (intval ($ site) == 0)? 1: 0;

RSS_Retrieve ($ url);
if ($ taille> 0)
$ Recents = array_slice ($ RSS_Content, $ site, $ taille + 1 - $ site);

foreach ($ recents as $ article)
{
$ Type = $ article ["type"];
if ($ type == 0)
{
if ($ a ouvert == true)
{
$ Page = "</ ul> \ n".;
$ A ouvert = false;
}
$ Page = "<b>".;
}
d'autre
{
if ($ a ouvert == false)
{
$ Page = "<ul> \ n".;
$ A ouvert = true;
}
}
$ Title = $ article ["titre"];
$ Link = $ article ["link"];
$ Description = $ article ["description"];
$ Image = $ article ['«image»];
$ Page = "<a <li> target=\"_blank\" href=\"$link\"> $ title <img src=\"$image\" /> </ a>";. / * ". $ article ['date']. "* /
if ($ description! = false)
{
$ Page = "description de <br> $ <br>".;
$ Page = $ article ['date'].;
}
$ Page = "</ li> \ n".;

if ($ type == 0)
{
$ Page = "</ b> <br />".;
}

}

if ($ a ouvert == true)
{
$ Page = "</ ul> \ n".;
}
return $ page "\ n".;

}

?>

la page qui appelle le rsslib est la suivante:

<DOCTYPE html PUBLIC "- / / W3C / / DTD XHTML 1.0 Transitional / / EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Page de test with <title> flux rss </ title>
</ Head>

<body bgcolor="#FFFFFF">
<h1> RSS 2.0 Direct Démo </ h1>
<hr>
<div id="zone"> Chargeur Directement non flux RSS et la liste le Display articles Des Récents. </ div>

<br>
<fieldset class="rsslib">
<? Php
require_once ("rsslib.php");
$ Url = "https://www.notaires.fr/fr/rss";
echo RSS_Display ($ url, 15, false, true);
?>
</ Fieldset>
</ Body>
</ Html>

BESOIN D'AIDE MERCI!!!!!!!!!!!



3 réponses

theliopro Messages postés 3 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 25 juin 2012 1
25 juin 2012 à 10:02
C'est bon j'ai trouvé tout seul comme un grand :D
// Nous voici au coeur du code d'intégration.
        for($x=0; $x<$max; $x++) {

            // On prend le x-ième item.
            $item=$feed->get_item($x);

        // Un peu d'habillage html.
        echo "<div style=\"width: 290px; text-align: left;
                padding: 4px; background-color: #FFFFEE;
                border: 1px solid #CCCCCC; margin: 6px;\">
                <a href=\"";

        // le lien ou pointe le flux.
        echo $item->get_permalink();
        echo "\">";

        // le titre du flux.
        echo $item->get_title();
        echo "</a><br />";

            // si enclosure, on affiche l'image. 
            if($enclosure=$item->get_enclosure(0)){

                   echo "<img src=\"";
                   echo $enclosure->get_link();
                   echo "\" border=\"1\" style=\"float: left;
                             margin: 4px; margin-top: 8px; width: 265px; \">";
            }
        // On affiche la description et la date pour finir.
        echo $item->get_description();
		echo '<br/>';
		echo $item->get_date('j M Y');
        echo "</div>";
        }

MERCI à moi tout seul !!!!!!!!!
1
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
26 juin 2012 à 16:11
ne pas oublier qu'il faut un dossier cache pour l'écriture ... :)
0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
22 juin 2012 à 18:17
je rêve là ... ?
pourquoi ça alors qu'il s'agit d'un site quasiment statique et qui n'a même pas de NDD (... en passant : 1 post et hop j'essaie de caser un lien ....!) , ça ne servira absolument à rien ...
:)
0
theliopro Messages postés 3 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 25 juin 2012 1
23 juin 2012 à 13:43
Ok bg62 je comprends pas ce que tu essaie de me dire !! Après plusieurs recherche j'ai découvert que c'est plus simple d'utiliser simplepie pour afficher les flux sur son sie web !!
et j'ai cette partie de code la pour afficher les info du flux :

    <div class="item">
        <h2><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></h2>
        <p><?php echo $item->get_description(); ?></p>
        <p><small>Posté le <?php echo $item->get_date('j M Y'); ?></small></p>
        <?php 
        if ($enclosure = $item->get_enclosure())
        {
            echo '<img src="" alt="" />';
        }
        ?>
    </div>


je voudrais savoir quoi ecrir dans le echo du if ($enclosure = $item->get_enclosure()) pour pouvoir afficher l'image !!

merciii
0