Tronquer les descriptions d'un flux rss sous magpierss ?
11 messages
• Page 1 sur 1
- Ectorio
- WRInaute discret

- Messages: 84
- Inscription: 9 Aoû 2009
Tronquer les descriptions d'un flux rss sous magpierss ?
Salut,
Pour afficher un mix de quelques flux, j'utilise magpierss de la même manière que le tuto suivant de WRI : http://www.webrankinfo.com/dossiers/webmastering/integrer-un-flux-rss
Cependant, je me demandais comment faire pour tronquer les descriptions car elles sont parfois énormes...
Etant limité en développement, est-ce que quelqu'un connait la solution ici ?
Merci.
Pour afficher un mix de quelques flux, j'utilise magpierss de la même manière que le tuto suivant de WRI : http://www.webrankinfo.com/dossiers/webmastering/integrer-un-flux-rss
Cependant, je me demandais comment faire pour tronquer les descriptions car elles sont parfois énormes...
Etant limité en développement, est-ce que quelqu'un connait la solution ici ?
Merci.
-

Monty973 - WRInaute passionné

- Messages: 1636
- Inscription: 21 Mar 2006
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
- Code: Tout sélectionner
$descriptionCourte = substr($description,0,nombre_de_caracteres_a_afficher);
http://fr2.php.net/manual/fr/function.substr.php
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
- 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;
}
- Ectorio
- WRInaute discret

- Messages: 84
- Inscription: 9 Aoû 2009
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
Salut à vous,
Et merci pour ces réponses, le problemo, c'est que je ne sais pas du tout où placer ces bouts de code...
Est-ce que ça se joue dans cette partie :
Et merci pour ces réponses, le problemo, c'est que je ne sais pas du tout où placer ces bouts de code...
Est-ce que ça se joue dans cette partie :
- Code: Tout sélectionner
function normalize () {
// if atom populate rss fields
if ( $this->is_atom() ) {
$this->channel['description'] = $this->channel['tagline'];
for ( $i = 0; $i < count($this->items); $i++) {
$item = $this->items[$i];
if ( isset($item['summary']) )
$item['description'] = $item['summary'];
if ( isset($item['atom_content']))
$item['content']['encoded'] = $item['atom_content'];
$atom_date = (isset($item['issued']) ) ? $item['issued'] : $item['modified'];
if ( $atom_date ) {
$epoch = @parse_w3cdtf($atom_date);
if ($epoch and $epoch > 0) {
$item['date_timestamp'] = $epoch;
}
}
$this->items[$i] = $item;
}
}
elseif ( $this->is_rss() ) {
$this->channel['tagline'] = $this->channel['description'];
for ( $i = 0; $i < count($this->items); $i++) {
$item = $this->items[$i];
if ( isset($item['description']))
$item['summary'] = $item['description'];
if ( isset($item['content']['encoded'] ) )
$item['atom_content'] = $item['content']['encoded'];
if ( $this->is_rss() == '1.0' and isset($item['dc']['date']) ) {
$epoch = @parse_w3cdtf($item['dc']['date']);
if ($epoch and $epoch > 0) {
$item['date_timestamp'] = $epoch;
}
}
elseif ( isset($item['pubdate']) ) {
$epoch = @strtotime($item['pubdate']);
if ($epoch > 0) {
$item['date_timestamp'] = $epoch;
}
}
$this->items[$i] = $item;
}
}
}
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
C'est pas vraiment comme l'exemple de WRI (FeedParser)
A remplacer par:
Pas sûr mais à essayer
- Code: Tout sélectionner
if ( isset($item['description']))
$item['summary'] = $item['description'];
A remplacer par:
- Code: Tout sélectionner
if ( isset($item['description'])){
$item['description'] = truncate($item['description'], 200, '...');
$item['summary'] = $item['description'];
}
Pas sûr mais à essayer
- Ectorio
- WRInaute discret

- Messages: 84
- Inscription: 9 Aoû 2009
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
Salut,
Exact, car je suis allé chercher ce code dans /magpierss/rss_parse.inc
J'ai bien le feedparser.php mais après avoir essayé différentes choses dessus (un peu à l'aveugle), je me suis dis que ça se jouait ailleurs...
J'ai bien essayé ton code mais cela n'a rien changé apparemment.
Merci de toute solution.
Exact, car je suis allé chercher ce code dans /magpierss/rss_parse.inc
J'ai bien le feedparser.php mais après avoir essayé différentes choses dessus (un peu à l'aveugle), je me suis dis que ça se jouait ailleurs...
- Code: Tout sélectionner
<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");
function FeedParser($url_feed, $nb_items_affiches=10)
{
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);
// si la lecture s'est bien passee,
// on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items,
0, $nb_items_affiches);
// debut de la liste
// (vous pouvez indiquer un style CSS
// pour la formater)
$html = "<br />\n";
// boucle sur tous les elements
foreach ($items as $item)
{
$html .= "<a target=\"_blank\" href=\"".$item['link']."\">";
$html .= $item['title']."</a><br />\n";
$html .= $item['description']."</a><br /><br />\n";
}
$html .= "<br />\n";
}
// retourne le code HTML a inclure dans la page
return $html;
}
?>
J'ai bien essayé ton code mais cela n'a rien changé apparemment.
Merci de toute solution.
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
- Code: Tout sélectionner
<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");
function FeedParser($url_feed, $nb_items_affiches=10)
{
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);
// si la lecture s'est bien passee,
// on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items,
0, $nb_items_affiches);
// debut de la liste
// (vous pouvez indiquer un style CSS
// pour la formater)
$html = "<br />\n";
// boucle sur tous les elements
foreach ($items as $item)
{
$html .= "<a target=\"_blank\" href=\"".$item['link']."\">";
$html .= $item['title']."</a><br />\n";
$html .= truncate($item['description'], 200, '...')."</a><br /><br />\n";
}
$html .= "<br />\n";
}
// retourne le code HTML a inclure dans la page
return $html;
}
?>
Et comme ceci? (truncate dans le foreach)
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
Il faut que tu déclares la fonction truncate que je t'ai donné ici:
http://forum.webrankinfo.com/tronquer-les-descriptions-flux-rss-sous-m ... l#p1089846
http://forum.webrankinfo.com/tronquer-les-descriptions-flux-rss-sous-m ... l#p1089846
- Ectorio
- WRInaute discret

- Messages: 84
- Inscription: 9 Aoû 2009
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
Salut,
Ok spout, merci mais finalement, voici une solution qui marche, je la poste pour ceux qui passeront par ici par la suite :
à remplacer par
Ok spout, merci mais finalement, voici une solution qui marche, je la poste pour ceux qui passeront par ici par la suite :
- Code: Tout sélectionner
$html .= $item['description']."</a><br /><br />\n";
à remplacer par
- Code: Tout sélectionner
$html .= substr($item['description'],0,100)."...<br /><br />\n";
-

UsagiYojimbo - WRInaute accro

- Messages: 8579
- Inscription: 23 Nov 2005
Re: Tronquer les descriptions d'un flux rss sous magpierss ?
Je pense que vu que la variable que tu tronques peut contenir du HTML, il vaut peut-être mieux faire un strip_tags dessus avant de tronquer.
11 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Tronquer les descriptions du flux rss de Freeglobes
- Problème avec Magpierss (flux RSS)
- Flux RSS : <media:thumbnail> sous magpierss
- magpierss et noms de champs identiques dans flux RSS
- intégrations adsenses flux rss et variable dans url flux rss ???
- rss et rdf avec magpierss
- Flux-rss.org, annuaire de flux RSS
- problem pour parser un flux xml avec magpierss
- MagpieRSS : comment afficher plusieurs flux via des onglets?
- Votre avis sur le site Atypic-flux (Magazine en Flux RSS)
- Intégrer un flux RSS sur son site
- Comment obtenir le flux RSS d'un compte Twitter
- La syndication de contenu : afficher un flux RSS sur son site
- Comment suivre un contact Google+ par flux RSS
- Utiliser Actifpub pour l'intégration d'un flux RSS externe sur son site
- Intégrer facilement un flux RSS externe
- Un (RSS) pour tous (les blogs officiels de Google)
- Des RSS rémunérés ça existe !
Consultez la description détaillée des produits ou services de Google suivants : Google Feed Fetcher, FeedBurner, Google Reader, Google ReadAir
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
