Найти строку и разделить

Тема в разделе "PHP", создана пользователем Шейла, 25 мар 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Шейла

    Шейла

    Регистр.:
    12 май 2008
    Сообщения:
    565
    Симпатии:
    158

    Кто силен подмогните.
    есть txt база мыльников формат базы такой вот кривой
    PHP:
    peta83@mail.ru
    luckystarbest
    @mail.ru
    pila_2007
    @list.ru
    gdanovich_anna
    @mail.ru
    mary520
    @bk.rulinarostowka@mail.ru Два E-mail в строке
    kseniya
    -upiter@mail.ru
    sensizcek_83
    @mail.ru
    bibi.82
    @bk.ru
    albina
    .a.a@mail.ru
    alla.4ka83
    @mail.ruzil-killer@mail.ru  Два E-mail в строке
    dj_kan
    @mail.ru
    gerasimova392
    @inbox.ru
    nastya
    -sm-42@mail.ru
    semenova_katya74
    @mail.rupainter-8@mail.ru  Два E-mail в строке
    xansi
    @list.ru
    boris_kokorev
    @mail.ru
    lomka111
    @list.ru
    Как найти строки в которых 2 символа @ и вставить перевод строки в нужном месте? :bc:
    С условием что все мыла из зоны РУ
     
  2. Alix

    Alix

    Регистр.:
    27 янв 2008
    Сообщения:
    234
    Симпатии:
    84
    Как-то так(набросал на коленке)
    PHP:
     $emails file('e-mails.txt');
     
    $result = array();
     foreach (
    $emails as $k => $v)
     {
         if (
    preg_match('/.+?@.+?@/'$v))
         {
             
    preg_match_all('/.+?@.+?\.ru/'$v$matches);
             
    print_r($matches);
             foreach (
    $matches[0] as $key => $val)
             {
                 
    $result[] = trim($val);
             }
         }
         else
             
    $result[] = trim($v);
     }
    С массивом $result можно производить дальнейшие действия(вывод на экран, сохранение в файл етц)
     
    Шейла нравится это.
  3. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    либо так:
    PHP:
    $f file_get_contents("mail.txt");
    preg_match_all("`([a-zA-Z0-9\.\-]+)@([a-z]+)\.ru`is"$f$m);
    print_r($m[0]);
    сработает быстрее, но если база большая, то текст надо разбивать на куски и пихать кусками в регулярку.
     
    Шейла нравится это.
  4. Шейла

    Шейла

    Регистр.:
    12 май 2008
    Сообщения:
    565
    Симпатии:
    158
    Скрипт предложеный Alix
    работает менее 20 сек.

    Твой вариант колбаситься окло 15 минут



    Тему CLOSED
     
Статус темы:
Закрыта.