The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как можно сортировать адресса e-mail с помощью PHP?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от Andrey email(??) on 26-Окт-06, 00:19 
Предо мной постало задание написать скрипт который бы мого сортировать адреса e-mail которые хранятся в текстовом файле, по их доменах... например: rambler.ru, mail.ru... а также найти одинаковые и оставить только один из них...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от ВоВкА email on 26-Окт-06, 13:05 
>Предо мной постало задание написать скрипт который бы мого сортировать адреса e-mail
>которые хранятся в текстовом файле, по их доменах... например: rambler.ru, mail.ru...
>а также найти одинаковые и оставить только один из них...


#!/usr/bin/perl
open BLK,"<./emails.txt";
while(<BLK>){
  $str=$_;
  chomp($str);
    foreach ($str){($uname,$domain)=split(/\@/);
         $HASH{$domain}{$uname}=$uname;
}
}
for my $k1 ( sort keys %HASH ) {
for my $k2 ( sort keys %{$HASH{$k1}} ) {
print %HASH->{$k1}{$k2},"@","$k1\n";
}
}

Примерно так

Если что то непонятно и т.д пиши на мыло
удачи

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от ВоВкА email on 26-Окт-06, 13:10 
да можно убрать вывод значения хеша
типа так будет

#!/usr/bin/perl
open BLK,"<./emails.txt";
while(<BLK>){
  $str=$_;
  chomp($str);
    foreach ($str){($uname,$domain)=split(/\@/);
         $HASH{$domain}{$uname}=$uname;
}
}
for my $k1 ( sort keys %HASH ) {
for my $k2 ( sort keys %{$HASH{$k1}} ) {
print $k2,"@","$k1\n";
}
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от XAnder (ok) on 26-Окт-06, 14:27 
>>Предо мной постало задание написать скрипт который бы мого сортировать адреса e-mail
>>которые хранятся в текстовом файле, по их доменах... например: rambler.ru, mail.ru...
>>а также найти одинаковые и оставить только один из них...
>
>#!/usr/bin/perl
> <...>
>
>Примерно так
>
>Если что то непонятно и т.д пиши на мыло
>удачи

ВоВкА, не обижайся, но что-то твой код не похож на PHP ;)

Можно, например, поступить так:

$eMails = array_unique(file("path/to/file"));

function cmp ($a, $b) {
   list($aUser, $aHost) = explode("@", $a);
   list($bUser, $bHost) = explode("@", $b);
   $hostCmp = strcmp($aHost, $bHost);
   if ($hostCmp != 0) return $hostCmp; else return strcmp($aUser, $bUser);
}
usort($eMails, "cmp");

Теперь $eMails содержит нужным образом отсортированный массив.

PS. Не тестировал :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от Andrey email(??) on 26-Окт-06, 14:44 
Спасибачки) Шас посмотрю, может и чтото выйдет...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от ВоВкА on 26-Окт-06, 15:34 
да согласен это не PHP но переписать саму идею можно легко
а если это надо сделать 1-2 раза и у человека есть доступ к perl
то думаю и мой вариант прокатит

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от primus on 26-Окт-06, 20:19 
cat addresses.txt | sort | uniq
на выходе отсортированные "неодинаковые" адреса
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от XAnder (ok) on 27-Окт-06, 08:17 
>cat addresses.txt | sort | uniq
>на выходе отсортированные "неодинаковые" адреса

Красиво, но сортировать надо не по адресам а по доменам.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Как можно сортировать адресса e-mail с помощью PHP?"  
Сообщение от primus on 27-Окт-06, 22:03 
>>cat addresses.txt | sort | uniq
>>на выходе отсортированные "неодинаковые" адреса
>
>Красиво, но сортировать надо не по адресам а по доменам.
Зря я наверное упираюсь :) ведь не пхп же...
Но ведь там ( в пхп) пайпы есть?
cat addr.txt|awk -F@ '{printf("%s %s\n", $2, $1)}'|sort|uniq|awk '{printf("%s@%s\n", $2, $1)}'
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру