Отсортировать домены 4 уровня

Тема в разделе "PHP", создана пользователем barbakan, 1 мар 2012.

Модераторы: latteo
  1. barbakan

    barbakan

    Регистр.:
    18 авг 2007
    Сообщения:
    345
    Симпатии:
    399
    Есть скрипт , писал не я , я в этом нечего не понимаю, он из txt файла сортирует домены 2 и 3 уровня и раскидует по соответствующим файлам, нужно добавить что бы он еще домены 4 и 5 уровня кидал в соответствующие файлы. Помогите пжл кто сображает.

    Код:
    <?php
    $start=file('in.txt');
    $mas2=array();
    $mas3=array();
     
    foreach($start as $nehui)
        {
        $zamen1=str_replace("\r\n","", $nehui);
        $zamen1=str_replace("www.","", $zamen1);
        $zamen1=str_replace("http://","", $zamen1);
        $mascont=explode("/",$zamen1);
        $hz=explode(".",$mascont[0]);
     
            if(count($hz)==2)
                {
                $mas2[]=$hz[0].".".$hz[1];
               
                }
            if(count($hz)==3)
                {
                $mas3[]=$hz[0].".".$hz[1].".".$hz[2];
               
                }
        }
     
     
    $file=fopen("2domain.txt", "w");
    foreach($mas2 as $pohui)
        {
        fwrite($file,$pohui."\r\n");
        }
    fclose($file);
     
     
    $file=fopen("3domain.txt", "w");
    foreach($mas3 as $nahui)
        {
        fwrite($file,$nahui."\r\n");
        }
    fclose($file);
     
    ?> 
     
  2. ywitodenasuby

    ywitodenasuby Постоялец

    Заблокирован
    Регистр.:
    31 янв 2012
    Сообщения:
    65
    Симпатии:
    21
    PHP:
    <?php
    $start
    =file('in.txt');
    $mas2=array();
    $mas3=array();
    $mas4=array();
    $mas5=array();
     
    foreach(
    $start as $nehui)
        {
        
    $zamen1=str_replace("\r\n",""$nehui);
        
    $zamen1=str_replace("www.",""$zamen1);
        
    $zamen1=str_replace("http://",""$zamen1);
        
    $mascont=explode("/",$zamen1);
        
    $hz=explode(".",$mascont[0]);
     
            if(
    count($hz)==2)
                {
                
    $mas2[]=$hz[0].".".$hz[1];
     
                }
            if(
    count($hz)==3)
                {
                
    $mas3[]=$hz[0].".".$hz[1].".".$hz[2];
     
                }
            if(
    count($hz)==4)
                {
                
    $mas4[]=$hz[0].".".$hz[1].".".$hz[2].".".$hz[3];
     
                }
            if(
    count($hz)==5)
                {
                
    $mas5[]=$hz[0].".".$hz[1].".".$hz[2].".".$hz[3].".".$hz[4];
     
                }
        }
     
     
    $file=fopen("2domain.txt""w");
    foreach(
    $mas2 as $pohui)
        {
        
    fwrite($file,$pohui."\r\n");
        }
    fclose($file);
     
     
    $file=fopen("3domain.txt""w");
    foreach(
    $mas3 as $nahui)
        {
        
    fwrite($file,$nahui."\r\n");
        }
    fclose($file);
     
     
    $file=fopen("4domain.txt""w");
    foreach(
    $mas4 as $nahui)
        {
        
    fwrite($file,$nahui."\r\n");
        }
    fclose($file);
     
     
    $file=fopen("5domain.txt""w");
    foreach(
    $mas5 as $nahui)
        {
        
    fwrite($file,$nahui."\r\n");
        }
    fclose($file);
     
    ?> 
     
    barbakan нравится это.
  3. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Вы извращенцы...... :eek:
    Можно вообще не привязываться к количеству... :-]

    PHP:
    <?php
    $start
    =file('in.txt');
    $file=array();
     
    for (
    $i=0$n=count($start); $i<$n; ++$i)
    {
    preg_match('#(https?://)?(www\.)?(.+)$#'trim($start[$i]), $str);
    $count=substr_count($str[3], '.');
     
    if (!isset(
    $file[$count]))
    $file[$count]=fopen($count.'domain.txt'"w");
    fwrite($file[$count], $str[3]."\r\n");
    }
     
    ?>
    PS. :rolleyes: Да я не закрываю файлы ибо **х !? Все равно скрипт не инклудный и просто выполняет мелкую задачу, а по завершению сам все закроет.
    Если есть желание пускайте ещё 1 цыкл на закрытие....
     
    barbakan нравится это.
  4. barbakan

    barbakan

    Регистр.:
    18 авг 2007
    Сообщения:
    345
    Симпатии:
    399
    Спасибо , то что надо, выручили )