Вырезать домены

Тема в разделе "PHP", создана пользователем Юрик, 30 апр 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Юрик

    Юрик Постоялец

    Регистр.:
    2 фев 2008
    Сообщения:
    74
    Симпатии:
    2
    Здравствуйте, помогите пожайлуста, имеется список доменов вида:
    almabet.biz,5/1/2008,AUC
    alonzomiddleton.biz,5/1/2008,AUC
    alphaelectricinc.biz,5/1/2008,AUC
    amaidandmore.biz,5/1/2008,AUC
    amazingherbs.biz,5/1/2008,AUC
    amazingjewelers.biz,5/1/2008,AUC
    amerasearch-hosting.biz,5/1/2008,AUC
    amistad-y-sexo.biz,5/1/2008,AUC
    anakenabulk.biz,5/1/2008,AUC
    andersonprinting.biz,5/1/2008,AUC
    andybizwebsite.biz,5/1/2008,AUC
    angiescandykitchen.biz,5/1/
    Допустим в массиве, как првератить его в список вида
    almabet.biz
    alonzomiddleton.biz
    alphaelectricinc.biz
    amaidandmore.biz
    amazingherbs.biz
    amazingjewelers.biz
    amerasearch-hosting.biz
    amistad-y-sexo.biz
    anakenabulk.biz
    andersonprinting.biz
    andybizwebsite.biz
    angiescandykitchen.biz
    Спасибо.
     
  2. able

    able

    Регистр.:
    5 апр 2008
    Сообщения:
    226
    Симпатии:
    66
    каждую строку массива в $str
    list($domain, $expdate, $tmp) = explode($str);
    на выходе $domain - с доменами, остальное используйте по желанию
     
  3. masto

    masto Прохожие

    Блин народ, если подсказываете, озаботьтесь хотя бы о том чтоб подсказка была верная.

    какой на фиг list($domain, $expdate, $tmp) если масив вида array('almabet.biz,5/1/2008,AUC'), а не array('almabet.biz', '5/1/2008', 'AUC')?

    PHP:
    foreach($array as $v)
         
    $domains[] = substr($v0strpos($v','));
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    Здорово, я так понимаю substr работает быстее preg_replace, но все же как реализовать такую замену через регулярки?
     
  5. verissimo

    verissimo

    Регистр.:
    26 сен 2006
    Сообщения:
    438
    Симпатии:
    139
    В ворде замени запятую на ^p, а затем отсортируй список по алфавиту. Получишь список доменов.
     
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    тогда уж легче сделать преобразование текста в таблицу по символу запятой:)
    И сортировать не придется.
     
  7. citrus

    citrus Постоялец

    Регистр.:
    5 ноя 2006
    Сообщения:
    58
    Симпатии:
    8

    if (preg_match('/([a-z0-9\-\.]+)\,/', "almabet.biz,5/1/2008,AUC", $r)) echo $r[1];
     
  8. t0ster

    t0ster Писатель

    Регистр.:
    25 янв 2008
    Сообщения:
    9
    Симпатии:
    3
    Вот :)
    PHP:
    <?php
    $input 
    = array(
    'almabet.biz,5/1/2008,AUC',
    'alonzomiddleton.biz,5/1/2008,AUC',
    'alphaelectricinc.biz,5/1/2008,AUC');
    $output = array();
    foreach (
    $input as $key=>$value)
    {
        
    $output[$key]=preg_replace("/(.+?),.+/","\$1",$input[$key]);
    }
    print_r($output);
    ?>
     
  9. poikl

    poikl

    Регистр.:
    7 ноя 2006
    Сообщения:
    164
    Симпатии:
    31
    PHP:
    <?php
    $list 
    ="file.txt";
    $keys file($list);
    $keys2 count($keys);
    for (
    $w=0$w<$keys2$w++){
    $wordsz trim($keys[$w]);

    echo 
    name_film($wordsz);
    }
    function 
    name_film($wordsz)
    {
               
    $words explode(', '$wordsz);
              print 
    $words[0]."<br>";
              
            }
    ?>


    или так если вставить в фаил данные
     
  10. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    Всем спасибо, надеюсь я когданить таки дойду до главы "регулярные выражения и их использование":)
    2 poikl
    тут пробел лишний после ","
    И у masto более элегантно и скорее всего быстрее.
     
Статус темы:
Закрыта.