MAGPIE RSS : Limiter le nombre de caractères "description"


pcamliti
WRInaute impliqué
WRInaute impliqué
 
Messages: 827
Inscription: 9 Mar 2007

MAGPIE RSS : Limiter le nombre de caractères "description"

Message le Ven Mar 11, 2011 14:20

Bonjour à Tous,

J'ai une interrogation et un souhait, comment réduire le nombre de caractères du champ description dans un extrait de flux rss via MAGPIE RSS ?

J'ai vu et lu pas mal de forum dont WRI, sans trouver la réponse.

Quelqu'un a t il déjà fait une modif ? et pourrait il la partager ?

merci d'avance


Djibou_Te@M
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 426
Inscription: 20 Avr 2010

Re: MAGPIE RSS : Limiter le nombre de caractères "description"

Message le Ven Mar 11, 2011 14:26

Oui, déjà fait, le plus simple est de traiter la variable de réception de la description de ton flux. De là tu coupes au Xième caractère et tu affiches la variable qui récupère la description tronquée...

J'ai pas plus simple.


pcamliti
WRInaute impliqué
WRInaute impliqué
 
Messages: 827
Inscription: 9 Mar 2007

Re: MAGPIE RSS : Limiter le nombre de caractères "description"

Message le Ven Mar 11, 2011 14:42

Merci de l'explication théorique, en code cela se traduit comment? quel fichier(s) dois-je modifier ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: MAGPIE RSS : Limiter le nombre de caractères "description"

Message le Ven Mar 11, 2011 15:00

Dans ton code, à l'endroit où s'affiche la description, tu la tronques avec une fonction du genre:
Code: Tout sélectionner

function truncate
($string, $max, $rep = '...') {
    $stringlength = strlen($string);
    $string = $string." ";
    $string = substr($string,0,$max);
    $string = substr($string,0,strrpos($string,' '));
    if($stringlength > $max)
     $string = $string.$rep;
    
    return $string
;
}
 


N.B.: MagPie c'est complétement outdated:
http://sourceforge.net/projects/magpierss/files/ les derniers fichiers datent de 2005 !

Je te conseille de jeter un oeil à SimplePie:
http://simplepie.org/


pcamliti
WRInaute impliqué
WRInaute impliqué
 
Messages: 827
Inscription: 9 Mar 2007

Re: MAGPIE RSS : Limiter le nombre de caractères "description"

Message le Ven Mar 11, 2011 15:12

spout a écrit:Dans ton code, à l'endroit où s'affiche la description, tu la tronques avec une fonction du genre:
Code: Tout sélectionner

function truncate
($string, $max, $rep = '...') {
    $stringlength = strlen($string);
    $string = $string." ";
    $string = substr($string,0,$max);
    $string = substr($string,0,strrpos($string,' '));
    if($stringlength > $max)
     $string = $string.$rep;
    
    return $string
;
}
 



Ok mais dans le fichier parser ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: MAGPIE RSS : Limiter le nombre de caractères "description"

Message le Ven Mar 11, 2011 15:21

Non, il faut modifier le fichier où tu utilises la classe MagPie.
Malheureusement dans l'exemple ici:
http://www.webrankinfo.com/dossiers/webmastering/integrer-un-flux-rss
Il n'affiche pas la description, mais c'est un exemple d'utilisation.

Donc tu ne modifies pas la classe MagPie, tu modifies juste le code qui l'utilise.


Djibou_Te@M
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 426
Inscription: 20 Avr 2010

Re: MAGPIE RSS : Limiter le nombre de caractères "description"

Message le Ven Mar 11, 2011 15:30

Tu dois avoir un truc de ce style :

Code: Tout sélectionner
include("magpierss/rss_fetch.inc");
$fichier_xml ="http://www.lesitedetonfluxRSS.com";
// exemple : "http://www.clubic.com/xml/news.xml";
$nombre_element = 5;

$rss = fetch_rss($fichier_xml);

if (is_array($rss->items))
    {
    $liste = array_slice($rss->items, 0, $nombre_element);

    echo "<table>\r\n<tr>\r\n<td>\r\n <font size=\"2\"><b>L'actu des moteurs de recherche</b></font></td>\r\n</tr>\r\n";
    foreach ($liste as $item ) {

        $title = $item[title];
        $url = $item[link];
        $desc = $item[desc];

        echo "<tr><td>News : $title<br />$desc</td></tr>\n";
        }
       echo "</table>";
    }


Avant de faire ton echo $desc, tu lui fais le traitement avec la fonction que t'a filé @spout.
Avec tout ça, tu as tout pour t'en sortir. Je t'ai tout fait, y a plus qu'à copier-coller :wink:

Au fait, idem que @spout, regardes un peu simplpie, il est sympa, parce que MagpieRSS date un peu.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité