diff --git a/ecrire/inc_sites.php3 b/ecrire/inc_sites.php3
index 4eba585d35ed978afe826212689718e716d89ed6..5e9d711f52f7c48443f235f3d1725eac9e76979b 100644
--- a/ecrire/inc_sites.php3
+++ b/ecrire/inc_sites.php3
@@ -482,7 +482,8 @@ function analyser_backend($rss) {
 
 
 	$items = array();
-	while (preg_match($syndic_regexp['item'],$rss,$regs)) {
+	if (preg_match_all($syndic_regexp['item'],$rss,$r, PREG_SET_ORDER))
+	foreach ($r as $regs) {
 		$debut_item = strpos($rss,$regs[0]);
 		$fin_item = strpos($rss,
 			$syndic_regexp['itemfin'])+strlen($syndic_regexp['itemfin']);