Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Нужно вытащить email-адреса из MySQL-базы (или из ее дампа)
Новая тема
Ответить
цитата
05/11/09 в 11:39
violar
У меня был скрипт, позволяющий вытаскивать email-адреса из MySQL-базы. Сейчас понадобился, но почему-то никак не могу найти.
Может можно такой где-то скачать? Никто не подскажет? Или может у кого есть такой, который бы из текста email-адреса вытаскивал. Например, из дампа базы. Очень нужно...
Сразу оговорюсь, что со спамом моя просьба никак не связана. Просто на хостинге жесткие лимиты на почтовые рассылки, и я хотел бы перевести своих зарегистрированных пользователей на получение рассылок через сервис рассылок на Mail.ru. А для этого, соответственно, нужно создать список адресов пользователей.
цитата
05/11/09 в 12:01
Alexandur
Смысл непонятен. Если е-мейлы отдельным полем, то простейший select
Если где-то в полях, то регулярными, что-то типа regexp '(^[a-z0-9_-\.]+)\@(^[a-z0-9_-\.]+)'
цитата
05/11/09 в 12:11
violar
gimcnuk писал:
'(^[a-z0-9_-\.]+)\@(^[a-z0-9_-\.]+)'
Я не программист, поэтому для меня это "лес тёмный".
А смысл моей просьбы можно упростить - требуется из текстового файла тупо вытащить email-адреса. И сохранить их списком по одному в строке в отдельный ТХТ-файл.
цитата
05/11/09 в 12:28
Alexandur
Что-то вроде:
Код:
$base = file_get_contents('basa.txt');
preg_match_all('/([a-z0-9_\-\.]+)\@([a-z0-9_\-\.]+)/s', $base, $out, PREG_PATTERN_ORDER);
$fp = fopen('emails.txt', 'w');
foreach($out[0] as $v)
{
fwrite($fp, $v ."\n");
}
fclose($fp);
Последний раз редактировалось: Alexandur (
05/11/09 в 13:32
), всего редактировалось 2 раз(а)
цитата
05/11/09 в 12:54
violar
gimcnuk писал:
Что-то вроде:
Код:
$base = file_get_contents('basa.txt');
preg_match_all('/(^[a-z0-9_-\.]+)\@(^[a-z0-9_-\.]+)/s', $base, $out, PREG_PATTERN_ORDER);
$fp = fopen('emails.txt', 'w');
foreach($out as $v)
{
fwrite($fp, $v[0] .'@'. $v[1] ."\n");
}
fclose($fp);
Что-то у меня не работает. Не создает файла со списком (emails.txt). Создал его сам (с маленьким текстом в нем)и с 666, после чего запустил скрипт. Скрипт только очистил emails.txt, но ничего в него не записал
цитата
05/11/09 в 12:55
Alexandur
Ошибка в preg_match у меня была, переписал.
цитата
05/11/09 в 13:09
violar
gimcnuk писал:
Ошибка в preg_match у меня была, переписал.
Всё равно не работает...
цитата
05/11/09 в 13:26
Alexandur
Код:
preg_match_all('/([a-z0-9_\-\.]+)\@([a-z0-9_\-\.]+)/s', $base, $out, PREG_PATTERN_ORDER);
Окончательный вариант.
Пришлось самому проверять.
цитата
05/11/09 в 14:30
violar
gimcnuk писал:
Код:
preg_match_all('/([a-z0-9_\-\.]+)\@([a-z0-9_\-\.]+)/s', $base, $out, PREG_PATTERN_ORDER);
Окончательный вариант.
Пришлось самому проверять.
Из дампа таблицы, в которой было около 1600 адресов скрипт создал файл на 88 кб с вот таким текстом:
Цитата:
admin@warez-a.ru@sergej-tishonkov@yandex.ru
admin@sergej-tishonkov
warez-a.ru@yandex.ru
Последний раз редактировалось: violar (
05/11/09 в 14:31
), всего редактировалось 1 раз
цитата
05/11/09 в 14:31
ibiz
юзаю такой код, может у меня ошибка?
Код:
"^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}"
цитата
15/11/09 в 12:19
Nevur
TextPipe Pro Evaluation
- софтина выдерет тебе любые мыла, потом чуть чуть подправишь и всё ;)
далее другой можно откорректировать что бы небыло двойников ;)
цитата
15/11/09 в 12:52
alex.raven
violar писал:
У меня был скрипт, позволяющий вытаскивать email-адреса из MySQL-базы. Сейчас понадобился, но почему-то никак не могу найти.
Может можно такой где-то скачать? Никто не подскажет? Или может у кого есть такой, который бы из текста email-адреса вытаскивал. Например, из дампа базы. Очень нужно...
Сразу оговорюсь, что со спамом моя просьба никак не связана. Просто на хостинге жесткие лимиты на почтовые рассылки, и я хотел бы перевести своих зарегистрированных пользователей на получение рассылок через сервис рассылок на Mail.ru. А для этого, соответственно, нужно создать список адресов пользователей.
Так а в чём проблема? Заходишь в phpMyAdmin, вводишь запрос:
SELECT email FROM user_baza;
Далее внизу там будет ссылка Export - кликаешь,
выбираешь формат - CSV, Fields enclosed by - убираешь " и жмёшь Go - и вот тебе чистенький список емейл адресов, по одному в строчке.
цитата
16/11/09 в 01:27
freeek
в этом случае, я думаю, бесполезно писать regex, не знаяю как уложенны данные
Новая тема
Ответить
Эта страница в полной версии