Verifier les doublons dans un fichier .txt

Résolu/Fermé
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 - 15 oct. 2009 à 13:34
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 - 15 oct. 2009 à 18:44
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
A voir également:

15 réponses

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

Bonne lecture ;)
0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 14:38
Oké ! super merci ;)
0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
15 oct. 2009 à 15:04
et concrétement au niveau du fichier php qui va supprimer les doublons dans le fichier txt, ça donne quoi comme code ??
0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 15:26
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++;
}
?> 
0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 15:15
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 ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 15:31
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++;
}
?> 

0
Utilisateur anonyme
15 oct. 2009 à 15:48
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 !

0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 15:58
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
0
Utilisateur anonyme > persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011
15 oct. 2009 à 16:35
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 ?
0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 15:51
Oké merci !

Je test ca de suite et je te dit !

++
Gaby
0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 17:35
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 .
0
Utilisateur anonyme
15 oct. 2009 à 18:13
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++;
}

?>

0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
15 oct. 2009 à 18:23
et ... pour tester ?
un dossier avec le *.php et le *.txt ???
0
Utilisateur anonyme
15 oct. 2009 à 18:25
Pour tester, un fichier *.php que tu appelleras dans ton navigateur, et surtout le fichier keywords.txt avec des lignes dedans...

Voilà !!

0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 18:25
Exact !
0
Utilisateur anonyme
15 oct. 2009 à 18:27
Bon et du coup, ça te convient là ???

0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
15 oct. 2009 à 18:32
NICKEL !
je viens de tester avec une liste de mails ... ok 100%
0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 18:34
Oui !!! je te remercie !

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

Merci encore ,
0
Utilisateur anonyme
15 oct. 2009 à 18:36
Bon bah, résolu ??

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


0
persol Messages postés 53 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 2 décembre 2011 9
15 oct. 2009 à 18:44
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
0