У меня есть два текстовых блока, содержащие названия компаний. Оба содержат названия сотен компаний, в новом списке больше компаний. Как удалить дубликаты названий компаний из двух списков, чтобы у меня остались только новые названия?
Пример текстового блока один:
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
Пример текстового блока два:
..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
...
Название компании, адрес и т. Д. похожи не одинаковы. Второй блок имеет слова M / s перед всеми названиями компаний.
Я хотел бы сделать это в PHP, возможно, с помощью регулярных выражений.
Я хотел бы указать названия компаний, которые соответствуют, например. В приведенном выше примере я хотел бы вывести названия компаний: Название компании Один, Название компании два являются общими для обоих тестовых блоков.
Обновление: благодаря @ Wrikken , у меня есть текст в двух строках. Я могу взорвать второй блок, используя M / s , и получить массив. Как мне проверить каждый элемент из этого массива на соответствие первому текстовому блоку, который является одной длинной строкой?
Хотя с тех пор я выполнял эту работу вручную, мне все равно хотелось бы узнать, как можно сравнить два текстовых блока по сходству и, следовательно, по награде.
Обновление: вывод для кода @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 ... ... ... ... ... ... ... ... ... ... ... ...
Выход для @ nikic
array(2) { [0]=> string(17) "..Random Text.. " [4]=> string(16) "Address, Phone " }
Вывод для второго сообщения @Joyce Babu
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
@ Финальный код Джойса Бабу
<?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";
?>
@ Выход из окончательного кода Джойса Бабу
1.)Company Name One Extra Random Text, Address line 1, line 2, phone,
2.)Company Name Two
4 DID NOT MATCH