Verifier les doublons dans un fichier .txt

Résolu
persol Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -  
persol Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   185
 
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   Statut Membre Dernière intervention   9
 
Oké ! super merci ;)
0
bg62 Messages postés 23732 Date d'inscription   Statut Modérateur Dernière intervention   2 409
 
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   Statut Membre Dernière intervention   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++;
}
?> 
0
persol Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   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 ;)
0

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

Posez votre question
persol Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   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++;
}
?> 

0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   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
0
Utilisateur anonyme > persol Messages postés 53 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   9
 
Oké merci !

Je test ca de suite et je te dit !

++
Gaby
0
persol Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   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 .
0
Utilisateur anonyme
 
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 23732 Date d'inscription   Statut Modérateur Dernière intervention   2 409
 
et ... pour tester ?
un dossier avec le *.php et le *.txt ???
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   9
 
Exact !
0
Utilisateur anonyme
 
Bon et du coup, ça te convient là ???

0
bg62 Messages postés 23732 Date d'inscription   Statut Modérateur Dernière intervention   2 409
 
NICKEL !
je viens de tester avec une liste de mails ... ok 100%
0
persol Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   9
 
Oui !!! je te remercie !

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

Merci encore ,
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   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
0