За последние 24 часа нас посетили 21309 программистов и 1692 робота. Сейчас ищут 1870 программистов ...

Исключение чего-нибудь из (.*)

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

  1. vvsh

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

    С нами с:
    19 май 2009
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Беларусь, Минск
    Здравствуйте
    У меня есть такое регулярное выражение:
    Код (Text):
    1. #\<a href\=\"\(.*)"\>(.*)\</a\>#s
    по такому регулярному выражению будет найдены все ссылки которые записаны в таком формате
    Код (Text):
    1. <a href="url">title</a>

    как мне сделать так, что в url, не находило ссылки, где содержаться слова "vvsh" и "blog" (без кавычек),
    заранее спасибо за ответ
     
  2. vvsh

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

    С нами с:
    19 май 2009
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Беларусь, Минск
    неужели никто не знает?
     
  3. Mandor

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

    С нами с:
    6 июл 2009
    Сообщения:
    2
    Симпатии:
    0
    Не нужно излишне все усложнять. Переберите полученные результаты в цикле, проверьте с помощью strpos.

    P.S. Ваша регулярка дерьмо.
     
  4. vvsh

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

    С нами с:
    19 май 2009
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Беларусь, Минск
    смысл в том, что мне надо именно найти по условию, я привел данный пример с ссылкой, на самом деле я в шаблонах движка хочу реализовать проверку условий, точнее я ее уже реализовал, но иногда возникают проблемы, и в одном из критериев нужно исключить попадание в него самой конструкции условия, так что вам метод не подходит.
     
  5. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    используй preg_replace_callback(), во внешнюю функцию передавай то что нашел, а в самой функции дальше делай условия
     
  6. vvsh

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

    С нами с:
    19 май 2009
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Беларусь, Минск
    то есть то, что я хочу реализовать невозможно?
     
  7. vvsh

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

    С нами с:
    19 май 2009
    Сообщения:
    79
    Симпатии:
    0
    Адрес:
    Беларусь, Минск
    проблема решена.

    я очень удивился что никто не знает, пришлось подумать.
    вот:
    Код (Text):
    1. #\<a href\=\'([^vvsh][^blog].*)\'\>(.*)\<\/a\>#
     
  8. Mr.M.I.T.

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

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    это значит что url не должен начинаться на буквы v,s,h и второй буквой не должны быть b,l,o,g

    по теме кури ман в сторону условий и просмотров вперёд
     
  9. Mr.M.I.T.

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

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Код (Text):
    1. #<a(?:[^>]*)href=\"((?!(?:blog|vvsh)).+?)\"(?:[^>]*)>#i