J'ai deux blocs de texte contenant les noms de sociétés. Les deux contiennent des noms de centaines d'entreprises, la nouvelle liste a plus d'entreprises. Comment est-ce que je supprime les noms de compagnie en double des deux listes, de sorte que je me retrouve avec les nouveaux noms seulement? bloc de texte Exemple un:Comparaison de blocs de texte pour un contenu similaire
Company Name One, Address line 1, line 2, phone, email
..
Random text
..
Company Name Two
Address, Phone,email
..
Random text
..
Company Name 3
Address, Phone,email
bloc de texte Exemple deux:
..Random Text..
M/s Company Name One Extra Random Text, Address line 1, line 2, phone,
..random text...
M/s Company Name Two
Address, Phone
...
Le nom de la société, adresse, etc sont similaires pas la même. Le deuxième bloc contient les mots M/s avant tous les noms de sociétés. Je voudrais faire cela en php, en utilisant regex peut-être.
Je voudrais sortir les noms de sociétés qui correspondent, par exemple. Dans l'exemple donné ci-dessus, je voudrais sortir que les noms de sociétés: Nom de l'entreprise Un, Nom de l'entreprise deux sont communs aux deux blocs de test.
Mise à jour: grâce à @Wrikken, j'ai le texte dans deux chaînes. Je peux exploser le deuxième bloc en utilisant le M/s, et obtenir un tableau. Comment puis-je vérifier chaque élément de ce tableau pour faire correspondre le premier bloc de texte qui est une longue chaîne?
Bien que, depuis que j'ai fait le travail manuellement, j'aimerais toujours savoir comment deux blocs de texte peuvent être comparés pour la similarité et donc la prime.
Update: sortie pour le code @Joyce Babu
..Random Text.. ..Random Text.. ..Random Text.. ..Random Text.. ..Random Text.. ..Random Text.. ..Random Text.. ..Random Text.. ..Random Text.. ..Random Text.. M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, M/s Company Name One Extra Random Text, Address line 1, line 2, phone, ..random text... ..random text... ..random text... ..random text... ..random text... ..random text... ..random text... ..random text... ..random text... ..random text... M/s Company Name Two M/s Company Name Two M/s Company Name Two M/s Company Name Two M/s Company Name Two M/s Company Name Two M/s Company Name Two M/s Company Name Two M/s Company Name Two M/s Company Name Two Address, Phone Address, Phone Address, Phone Address, Phone Address, Phone Address, Phone Address, Phone Address, Phone Address, Phone Address, Phone ... ... ... ... ... ... ... ... ... ... ... ...
sortie pour @nikic
array(2) { [0]=> string(17) "..Random Text.. " [4]=> string(16) "Address, Phone " }
sortie pour @Joyce Babu second poteau
andom Text..andom Text..andom Text..andom Text..andom Text..andom Text..andom Text..andom Text..andom Text..andom Text..Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,Company Name One Extra Random Text, Address line 1, line 2, phone,andom text...andom text...andom text...andom text...andom text...andom text...andom text...andom text...andom text...andom text...Company Name TwoCompany Name TwoCompany Name TwoCompany Name TwoCompany Name TwoCompany Name TwoCompany Name TwoCompany Name TwoCompany Name TwoCompany Name Tworess, Phoneress, Phoneress, Phoneress, Phoneress, Phoneress, Phoneress, Phoneress, Phoneress, Phoneress, Phone
@Joyce Babu final Code de
<?php
set_time_limit(500);
$arOld = file('olddata.txt');
$arNew = file('newdata.txt');
$G=0;
$c=0;
foreach($arNew as $line){
if(substr($line, 0, 4) == 'M/s '){
$c++;
echo "<BR/>".$c.".)";
$line = trim(substr($line, 4));
foreach($arOld as $old){
similar_text($line, $old, $percentage);
if ($percentage > 80){
continue;
}
}
echo $line;
}else{
$G++;
}
}
echo "<br/>".$G . " DID NOT MATCH";
?>
@ sortie de Joyce Babu code final
1.)Company Name One Extra Random Text, Address line 1, line 2, phone,
2.)Company Name Two
4 DID NOT MATCH
Est-ce que les deux blocs de texte exactement comme dans votre exemple de texte? Si c'est le cas, que voulez-vous garder? Que voulez-vous supprimer? Si ce n'est pas le cas, je pense que vous devriez poster un exemple de texte qui ressemble exactement à vos deux blocs de texte. Si vous le faites, je pourrais être en mesure de vous aider. – matsolof
@matsolof. J'ai mis à jour la question – abel
Est-ce une ligne par enregistrement? Est-ce que leurs lignes peuvent être des données aléatoires entre deux enregistrements? –