Supprimer doublons dans un flux RSS
Posté : 07 mars 2014, 04:32
Bonsoir,
J'utilise actuellement un script pour afficher un flux RSS dans un wordpress.
Le souci est que j'ai pu constater qu'il n'est pas rare que dans le flux il y ait des doublons. Le script n'y est pour rien, il s'agit de la source.
Je cherche donc à améliorer le script afin qu'il supprime automatiquement les doublons voire triplons!
Voici la portion concernée:
Mes recherches m'ont menées ici : http://www.php.net/manual/fr/function.array-unique.php
Mais bien qu'il soit mentionné dans le script qu'un tableau est construit je ne voit de "array" nulle part, du coup comment s'y prendre pour utiliser cette fonction??
Merci pour votre précieuse aide!!
J'utilise actuellement un script pour afficher un flux RSS dans un wordpress.
Le souci est que j'ai pu constater qu'il n'est pas rare que dans le flux il y ait des doublons. Le script n'y est pour rien, il s'agit de la source.
Je cherche donc à améliorer le script afin qu'il supprime automatiquement les doublons voire triplons!
Voici la portion concernée:
include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed($feed_url);
if (!is_wp_error($rss)) { // no error occurred
$maxitems = $rss->get_item_quantity($number_of_items);
// Build an array of all the items, starting with element 0 (first element).
$rss_items = $rss->get_items(0, $maxitems);
$output = '<div' . ((bool)$cssclass ? ' class="' . $cssclass . '"' : '') . '><ul>';
if ($maxitems == 0) { // no items
$output .= '<li>' . __('No feed items at this time. Please check back later.', JPGRF_LOCAL) . '</li>';
} else { // there were items
// Loop through each feed item and display each item as a hyperlink
foreach ($rss_items as $item) {
$output .= '<li>';
$output .= '<div class="persorss"><a ' . ($opennewwindow ? ' onclick="window.open(this.href); return false;" onkeypress="window.open(this.href); return false;" ' : ' ') . ($nofollow ? 'rel="nofollow" ' : ' ') . 'href="' . esc_url($item->get_permalink());
$output .= '" title="">' . strip_tags($item->get_title()) . '</a><br />' . ($desc ? ' ' . substr($item->get_description(), 0, $numchars-1) : '') . '...</div></li>';
} // end foreach
} // end items check
$output .= '</ul></div>';
} // end error check
Je suis certain qu'il doit être assez simple de n'afficher qu'une fois un item qui se répète lors de la construction du tableau (à ce que j'en comprends) mais comment??Mes recherches m'ont menées ici : http://www.php.net/manual/fr/function.array-unique.php
Mais bien qu'il soit mentionné dans le script qu'un tableau est construit je ne voit de "array" nulle part, du coup comment s'y prendre pour utiliser cette fonction??
Merci pour votre précieuse aide!!