Verifier les doublons dans un fichier .txt

Résolu/Fermé
Signaler
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
-
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
-
Bonjour,

J'ai un petit souci, Imaginez, j'ai un fichier texte qui représente une liste de mots clefs a promotionner. comme il y en a beaucoup, je ne suis pas à l'abri de faire des doublons.

Bien sur je suis aussi intéresser par cette solution pour detecter les email en doubles ect ....

Voilà, j'aimerai détecter facilement par ligne, s'il y à des doublons. Pourquoi pas avec php par exemple. ou d'autres système.

Merci à vous !!

Gabriel

15 réponses

Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
184
Salut,
j'ai ce qu'il te faut ! > https://www.php.net/manual/fr/function.array-unique.php

Bonne lecture ;)
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Oké ! super merci ;)
Messages postés
23187
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
28 novembre 2021
2 293
et concrétement au niveau du fichier php qui va supprimer les doublons dans le fichier txt, ça donne quoi comme code ??
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Re !

Je crois que je suis sous la bonne voie avec je morceau de code, mais il me reste à le tester un peu !

<?php 
$keywords = file('keywords.txt');
$keywords = array_unique($keywords);
$max = count($keywords);
$i = 0; 
while ( $i < $max )
{
	echo ($keywords[$i]) . '<br />';
	$i++;
}
?> 
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
je suis en train de le préparer jte file ca dans 3 min.

petit indice tu retourne la valeur du .txt dans un array par la fonction file('fichier.txt')

a toute ;)
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Petit souci sur ce code !!

il me vire les doublons mais grade la ligne en considération !

quelqun à une solution ?

Merci

<?php 
$keywords = file('keywords.txt');
$keywords = array_unique($keywords);
$max = count($keywords);
$i = 0; 
while ( $i < $max )
{
	echo ($keywords[$i]) . '<br />';
	$i++;
}
?> 


Moi je fais plutôt comme ça :

<?php

$keywords = file('keywords.txt');
$liste_sans_doublons = array();
foreach ( $keywords as $valeur ) {
  if ( !in_array($valeur,$liste_sans_doublons) ) {
    array_push($liste_sans_doublons,$valeur);
  }
}
$max = count($liste_sans_doublons);
$i = 0; 
while ( $i < $max ) {
  echo ($liste_sans_doublons[$i]) . '<br />';
  $i++;
}

?>


J'ai pas testé, je viens de le faire ici... si ça peut servir !

Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Hum, ca marche parray que array_unique,

sauf qu'il remplace toujours la valeur dedoublonné par une ligne vierge.

Je pense que l'idée serait de réediter le fichier avec les fonction fopen etc... mais bien sur il serait préférable de ne pas l'utiliser....

Une autre solution ?


Merci !!
++
Gaby
Utilisateur anonyme >
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011

Bah je viens de le tester et moi ça fonctionne... pas de ligne vide, rien...

Le résultat est un joli tableau sans doublons...

C'est quoi le contenu de ton keywords.txt ?? il est généré comment ?
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Oké merci !

Je test ca de suite et je te dit !

++
Gaby
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
re !

J'utilise notepadd++ pour éditer le fichier. dans le ficher texte je met un peut de tout ! des espaces des ligne vides ect. le probleme, c'est qu'en effet il me quitte les lignes mais en garde une comme entrée unique ... tu vois le genre .

A bah évidemment...

Mon système trie toutes les lignes et n'en garde qu'une de chaque type...

Il enlève les doublons quoi... ce que tu veux faire depuis le départ...

Seulement si tu t'amuses à mettre des lignes vides dans ton fichier d'origine, ne t'étonne pas si mon script ne t'en garde qu'une... C'est le but du script...

Si tu veux virer l'unique ligne vide de sortie après traitement, alors :

<?php

$keywords = file('keywords.txt');
$liste_sans_doublons = array();
foreach ( $keywords as $valeur ) {
  if ( !in_array($valeur,$liste_sans_doublons) &&  $valeur != "\r\n" ) {
    array_push($liste_sans_doublons,$valeur);
  }
}
$max = count($liste_sans_doublons);
$i = 0; 
while ( $i < $max ) {
  echo ($liste_sans_doublons[$i]) . '<br />';
  $i++;
}

?>

Messages postés
23187
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
28 novembre 2021
2 293
et ... pour tester ?
un dossier avec le *.php et le *.txt ???
Utilisateur anonyme
Pour tester, un fichier *.php que tu appelleras dans ton navigateur, et surtout le fichier keywords.txt avec des lignes dedans...

Voilà !!

Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Exact !

Bon et du coup, ça te convient là ???

Messages postés
23187
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
28 novembre 2021
2 293
NICKEL !
je viens de tester avec une liste de mails ... ok 100%
Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Oui !!! je te remercie !

là c'est parfait, testé et fonctionnel !

Merci encore ,

Bon bah, résolu ??

Et attention bg62, pas de spam avec ta liste de mail hein ?? :-)


Messages postés
53
Date d'inscription
vendredi 2 octobre 2009
Statut
Membre
Dernière intervention
2 décembre 2011
9
Merci pour ton aide précieuse, en effet je crois que le sujet est à présent résolut !

Ce script Adapté à une boucle d'envoi de mail, permet de gérer des mailing-list le plus simplement du monde.

Bravo et je garde ce code précieusement !

++
Gaby