Легкая обрезка

Тема в разделе "Регулярные выражения", создана пользователем event, 1 сен 2011.

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

    event Создатель

    Регистр.:
    26 июл 2011
    Сообщения:
    19
    Симпатии:
    2
    Доброй ночи !
    Пишу небольшой скрипт, с регулярными выражениями у меня совсем туговато, ребята помогите пожалуйста, например есть текст, нужно с него вырезать такие строчки:

    1.
    PHP:
     <a href="http://www.kinopoisk.ru/level/1/film/95481/" title="http://www.kinopoisk.ru/level/1/film/95481/"><img class="linked-image" src="http://www.kinopoisk.ru/rating/95481.gif" border="0" alt="http://www.kinopoisk.ru/rating/95481.gif" title="http://www.kinopoisk.ru/rating/95481.gif" /><br />
    </
    a><br />
    2.
    PHP:
    <a href="http://imdb.snick.ru/movie/tt0453375" title="http://imdb.snick.ru/movie/tt0453375"><img class="linked-image" src="http://imdb.snick.ru/ratefor/02/tt0453375.png" border="0" alt="http://imdb.snick.ru/ratefor/02/tt0453375.png" title="http://imdb.snick.ru/ratefor/02/tt0453375.png" /><br />
    </
    a><br />
    3.
    PHP:
    <a  href="http://www.imdb.com/title/tt1209361/" rel="nofollow" target="_self"><img border="0"
    src="http://rutor.org/imdb/pic/1209361.gif" alt="http://rutor.org/imdb/pic/1209361.gif"><br />
    </
    a><br />
    Спасибо, надеюсь на Вас.
     
  2. Oleg_Ci

    Oleg_Ci Создатель

    Регистр.:
    11 окт 2009
    Сообщения:
    25
    Симпатии:
    7
    Выдрать строчки можно так:
    1. #(<a href="http://www.kinopoisk.ru.*?</a><br />)#s
    2. #(<a href="http://imdb.snick.ru.*?</a><br />)#s
    3. #(<a\s+href="http://www.imdb.com.*?</a><br />)#s

    Если надо выдрать url`ы то можно так:
    #<a\s+href="(http://www.kinopoisk.ru[^"]+)"#

    если ссылку на рисунок:
    #<a\s+href="http://www.kinopoisk.ru.*?src="([^"]+)#

    Добавлено через 10 минут
    Еще унивирсальная вырезалка всех строчек сразу:
    #(<a\s+href="http://(?:www.kinopoisk.ru|imdb.snick.ru|www.imdb.com).*?</a><br />)#s
     
  3. event

    event Создатель

    Регистр.:
    26 июл 2011
    Сообщения:
    19
    Симпатии:
    2
    Ни один вариант не работает, на данный момент нужно уже вырезать только эту строчку:
    PHP:
    <a href="http://www.imdb.com/title/tt1209361/" title="http://www.imdb.com/title/tt1209361/"><img class="linked-image" src="http://rutor.org/imdb/pic/1209361.gif" border="0" alt="http://rutor.org/imdb/pic/1209361.gif" title="http://rutor.org/imdb/pic/1209361.gif" /><br />
    </
    a><br />
     
  4. Oleg_Ci

    Oleg_Ci Создатель

    Регистр.:
    11 окт 2009
    Сообщения:
    25
    Симпатии:
    7
    А какой язык программирования?
    те регулярки я проверял в PHP, они работают, это у меня Работает в C#:
    Только флаг Singleline нужен, т.к. у тебя поиск в нескольких строках а не в одной.
    (<a href="http://www.imdb.com.*?</a><br />)

    Добавлено через 53 секунды
    ________________________

    возможно ты копируеш строчку-пример из текста браузера, там где в меню выбирают "исходный код страницы", браузер там вносит изменения в оригинальный html код. А регулярки применяеш к неизмененному html оригиналу.
     
  5. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    на php regexpы отбиваются / с обеих сторон. СОотвественно все / внутри регулярки надо экранировать (\/)
     
  6. Oleg_Ci

    Oleg_Ci Создатель

    Регистр.:
    11 окт 2009
    Сообщения:
    25
    Симпатии:
    7
    Да нет же, можно вроде любыми символами, лижбы они одинаковыми были, т.е. можно "/.../" а можно и так "#...#" или так "@...@"
     
Статус темы:
Закрыта.