Помогите с регуляркой

Тема в разделе "Регулярные выражения", создана пользователем mc-alkin, 3 окт 2010.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. mc-alkin

    mc-alkin

    Регистр.:
    17 июл 2009
    Сообщения:
    164
    Симпатии:
    100
    в странице есть 1-2 ссылки. в ней баннер и рекламный текст. например:
    PHP:
    <a href="http://google.com" style="font: bold 16px Georgia, 'Times New Roman', Times, serif;"><img src="images/banner.gif" width="605" height="90" border="0"><br>
        
    Visit our site <br>
        
    Big google <br>
        
    Help me!</a>
    - подскажите, как регуляркой заменить http://google.com на http://yahoo.com?
    - images/banner.gif на http://yahoo.com/banner.gif
    - Visit our site <br>Big google <br>Help me! на "My big<br>text"

    это вообще реально? ereg_replace поможет?
     
  2. Delk0

    Delk0

    Регистр.:
    26 мар 2010
    Сообщения:
    284
    Симпатии:
    47
    PHP:
    preg_replace('|<a href="(.*?)" style="font|is''http://yahoo.com');
     
  3. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    опять из пушки по воробьям. используй str_replace
     
  4. mc-alkin

    mc-alkin

    Регистр.:
    17 июл 2009
    Сообщения:
    164
    Симпатии:
    100
    урл, баннер и декс всегда разный(
     
  5. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    PHP:
    str_replace (array("yahoo.com""yandex.ru""bing.com"), array ("google.com""google.com""google.com"), $string);
    в чем проблема то?
     
  6. mc-alkin

    mc-alkin

    Регистр.:
    17 июл 2009
    Сообщения:
    164
    Симпатии:
    100
    в том что меняется урл, src=... и текст
    может урл не так часто, но банер и текст всегда разный... И таких странц 1500.

    Добавлено через 46 минут
    или тогда заменить те ссылки полностью, где есть http://google.com...

    что-то типо этого:
    Но тут косяки с переносами каретки, не срабатывает почему то((( подскажите как?
     
  7. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Проблема с переносами строк решается модификатором s:
    Код:
    $srt = preg_replace("/<a href=\"http:\/\/in\.(.*)?<\/a>/eim[B][COLOR="Red"]s[/COLOR][/B]", '111111111', $srt); 
     
  8. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    помогите вставить переменную $more в регулярку
    PHP:
    $subject=('привет пока');
    $pattern '/\bпривет\b/i';
    echo 
    preg_replace($pattern,'1'$subject);
    надо так, но неработает
    PHP:
    $subject=('привет пока');
    $more=('привет');
    $pattern '/\b$more\b/i';
    echo 
    preg_replace($pattern,'1'$subject);
     
  9. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Используй двойные ковычки.
    PHP:
    $pattern "/\b$more\b/i"
    Ещё вариант:
    PHP:
    $pattern '/\b'.$more.'\b/i';
     
  10. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    помогите написать регулярку, нужно разделить текст вида
    PHP:
    слово || слово2 || слово3 
    и получить переменные
    PHP:
    $per1=слово
    $per2
    =слово2
    $per3
    =слово3
     
Статус темы:
Закрыта.