Заменить дубликаты в текстовом файле с помощью PHP? - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть текстовые файлы со списком тысяч имен, подобных этому

DallasWebJobs
DallasWebJobs
DallasWebJobs
php_gigs
brotherjudkins
goldbergwb
SanDiegoWebJobs
brinteractive
muracms
browan85
php_gigs
php_gigs
php_gigs
php_gigs

1 имя в строке, хотя в 1 файле может быть до 30 000 имен, и мне нужно заменить все повторяющиеся имена, потому чтовероятно, половина является дубликатами.

Я хотел бы сделать это в PHP, 1 хотя я импортировал каждую строку в базу данных MySQL, а затем делал это, но это казалось излишним, я уверен, что естьболее простой способ.

Пожалуйста, помогите, если можете


Обновление Я нашел это для писем, оно должно работать тоже

$list = file('./Emailist.txt');
$list_unique = array_unique($list);
foreach ($list_unique as $mail) {
    echo $mail;
}

Ответы [ 3 ]

1 голос
/ 29 февраля 2012

From php.net : serg dot podtynnyi at gmail dot com 06-Feb-2009 11: 21

// Удалить дубликаты из текстовых файлов и вывести результат в один файл дляпример: список адресов электронной почты, список ссылок и т. д.

<?php 

$data1 = file("data1.txt");  

file_put_contents('unique.txt', implode('\n', array_unique($data1))); 
?>

Это удалит все дубликаты и сохранит их как файл unique.txt

или

<?php 

$data1 = file("data1.txt"); 

$uniqueArray = array_unique($data1)); 
?>

Сохранитэто в $uniqueArray

0 голосов
/ 29 февраля 2012
$file = file_get_contents($filename);
$arr = array();
$arr = split('\n',$file);
$arr = array_unique($arr);

Затем снова записать содержимое $arr в текстовый файл

0 голосов
/ 29 февраля 2012
$lines = file("test-file");

foreach($lines as $line)
{
    $new[str_replace(array("\n","\r"),"",$line)] = 1;
}

print_r(array_keys($new));
...