dédoublonner un fichier xml

Petit nouveau ! | 3 Messages

19 avr. 2011, 23:33

Bonsoir,

si quelq'un passe par là, pour éclaircir ma démarche, merci d'avance !
mon objectif est de supprimer les doublons dans un fichier xml,
dans un premier cas, je peux éliminer les titres entiers en doublons en passant
par un tableau internmédiaire, et

1) if (!in_array($item['title'],$tab_desc)) puis vider $title lorsque c'est nécessaire

Mais c'est incomplet par rapport au projet
j'ai donc raccourci la valeur $title pour pouvoir faire la recherche dans
mon tableau avec preg_match mais je n'arrive pas à filtrer comme dans le premier
cas.

2) if (!preg_match('/$val/',$tab_desc)) recherche
ne fonctionne pas, ou plutot je crois mon code ou mon raisonnement n'est pas bon par rapport
à ce que je veux obtenir dans le cas 2.

en 1) je filtre bien "mon tableau est important" = > "mon tableau est important"
en 2) je ne fitre pas "mon tableau" = > "mon tableau est important"

merci de votre aide,

Code : Tout sélectionner

function Parser($url_feed, $nb_items_affiches=8) { //initialisation du tableau inetermediaire $tab_desc = array(); // lecture du fichier distant (flux XML) $rss = fetch_rss($url_feed); if (is_array($rss->items)) { // on ne recupere que les elements les + recents $items = array_slice($rss->items, 0, $nb_items_affiches); // boucle sur tous les elements foreach ($items as $item) { // on raccourci les valeurs $val= substr($item['title'],0,28); if (!preg_match('/$val/',$tab_desc)) { $title = $item['title']; array_push($tab_desc,$item['title']); } else { //sinon on vide la variable title $title = ""; $html .= ""; // vide; }

Eléphant du PHP | 92 Messages

20 avr. 2011, 15:22

Hello,

dans ce genre d'algo il faut commencer par poser les bases.
Dans ton cas la question qu'il faut te poser c'est qu'est ce qui fait que 2 items sont identiques.
Parce que j'ai du mal à comprendre comment est ce que tu veux détecter des doublons qui n'en sont pas...
en 1) je filtre bien "mon tableau est important" = > "mon tableau est important"
en 2) je ne fitre pas "mon tableau" = > "mon tableau est important"
Pour moi il me semble normal que ton 2eme cas ne fonctionne pas parce que tes 2 titres sont bien différents ou alors il faut que tu gères des pourcentage de similitude...
Donc à mon avis, il y a un truc que tu nous dis pas qui est important pour déterminer si tes "items" de ton fichier RSS sont identique ou non...
Programmer c'est 20% de syntaxe pour 80% de réflexion et dans les 20% de syntaxe il faut encore compter une bonne dose de réflexion...
Je vous donne des conseils, pas des solutions toutes faites...