Маленькая регулярка

Тема в разделе "Как сделать...", создана пользователем extrimportal, 17 май 2013.

  1. extrimportal

    extrimportal

    Регистр.:
    28 ноя 2008
    Сообщения:
    540
    Симпатии:
    70
    Добрый день уважаемые. Собрал базу одних форумов и теперь нужно подшаманить что бы кое что заменить. Не подсобите с регуляркой что бы сделала такое:
    есть текстовый файл вида
    http://сайт1.ру/forum/forum.php
    http://сайт2.ру/index.php
    http://сайт2.ру/блабла.php
    http://сайт2.ру/forum/forum.php
    блабла
    http://сайт3.ру/forum/forum.php

    в текстовом файле 2 есть список вида
    http://сайт1.ру/forum/forumKA.php
    http://сайт2.ру/index.php
    http://сайт2.ру/блабла.php
    http://сайт2.ру/forum/forumKA.php
    *******
    http://сайт3.ру/forum/forumKA.php
    Тоесть если я правильно понимаю то в условию должно быть что то вроде если в текстовом файле 1 есть сайтN.ру с файлом forum.php, а в текстовом файле 2 есть этот же сайтN.ру с файлом forumKA.php, то с второго сделать замену в первый.
    С меня спасибка и 5 вмзовских на пиво :)
     
  2. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Вам надо поменять только названия ссылок в текстовоми файле №2?

    Тоесть ятак понял ищем во первом файле сайтN.ру/forum.php и сравниваем этот же домен со вторым N.ру/forumKA.php

    и если у нас в первом есть N.ру/forum.php а во втором N.ру/forumKA.php то мы N.ру/forumKA.php меняем на N.ру/forum.php.

    Верно я вас понял?



    А если просто сделать поиск замену?

    типа ищем в файле 2 forumKA.php и меняем на forum.php
    Или надо по другому?

    Если просто

    найти в файле по маске и заменить то так
    $text_b = str_replace('forumKA.php', 'forum.php',$text_b);
    Код:
     
    <?php
     
    $fpe=fopen("end.txt","w+");
     
    $b_tt =file("b_domen.txt");
     
    $pagPa =sizeof($a_tt);
     
    for($tm=0;$tm< $pagPa;$tm++){
     
    $text_a = $a_tt[$tm] ;
     
    $text_b= $b_tt[$tm] ;
     
    $text_b = str_replace('forumKA.php', 'forum.php',$text_b);
     
    fwrite($fpe,"$text_b\n");
     
    }
     
    fclose($fpe);
     
    ?>
    
    просто не вижу логики, искать сравнивать первый файл с вторым..

    Зная маску просто проодим один файл и меняем все файлы
    forumKA.php на forum.php.
     
    extrimportal нравится это.
  3. extrimportal

    extrimportal

    Регистр.:
    28 ноя 2008
    Сообщения:
    540
    Симпатии:
    70
    Извиняюсь. Моя ошибка. Забыл сказать что будет forumKA.php, forumNO.php, forumRU.php, для каждого сайтаН напарсено разные названия файла, и нужно так заменить что бы сайту5.ру не попал forumNO.php если ему в текстовом файле2 присвоен forumKA.php