За последние 24 часа нас посетили 19427 программистов и 1605 роботов. Сейчас ищут 958 программистов ...

Помогите доработать регулярку

Тема в разделе "Регулярные выражения", создана пользователем andre344, 13 июн 2010.

  1. andre344

    andre344 Активный пользователь

    С нами с:
    12 июн 2010
    Сообщения:
    4
    Симпатии:
    0
    Имеем функцию которая находит и изменяет все ссылки на странице:

    Код (Text):
    1. $input = preg_replace_callback('#(?><[A-Z][A-Z0-9]{0,15})(?>\s+[^>\s]+)*?\s*(?>(href|src|background)\s*=(?!\\\\)\s*)(?>([\\\'"])?)((?(2)(?(?<=")[^"]{1,1000}|[^\\\']{1,1000})|[^ >]{1,1000}|))(?(2)\\2|)#i', 'html_attribute', $input);
    Нужно сделать так чтобы изменялись ссылки только на google.com
    Или же наоборот, чтобы ссылки на site1.ru, site2.ru, site3.ru небыли найдены.
    Код (Text):
    1.  
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    см. callback функцию
     
  3. andre344

    andre344 Активный пользователь

    С нами с:
    12 июн 2010
    Сообщения:
    4
    Симпатии:
    0
    Что то не понял, а зачем мне callback? Ведь mixed pattern определяет с чем работать на странице..
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    потому что
    изменены