Автор Тема: поиск тегов в html  (Прочитано 3448 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vaita-c

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск тегов в html
« : 24 Сентября 2004, 14:24:03 »
Привет.

Хотелосьбы находить ссылки в html-документе, ссылки вида:
sometext(возможно с тегами)возможны тегиtext(возможно с тегами)

.
Сейчас используется: (php)
$rExp = "{<\\s*a.*href=\\s*[\'\\"](.*)[\'\\"].*>(.*).*<\\s*p.*>(.*)

}sUi";
но на функции preg_match_all() сыпется, говорит что превышен лимит 30 сек.

Подскажите в чем ошибка, я предполагаю что проблема в "жадности".

Спасибо.

Виталий Щ.
Vitaliy.

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
поиск тегов в html
« Ответ #1 : 25 Сентября 2004, 13:18:30 »
Похожие темы:
http://forums.webscript.ru/showthread.php?s=&threadid=16583&msgnum=7
http://forums.webscript.ru/showthread.php?s=&threadid=15278&msgnum=5

Если не понимаешь про что там написано, то неплохо было бы еще привести пример текста по которому идет поиск. Легче будет помочь...
работа в Украине

Оффлайн vaita-c

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
поиск тегов в html
« Ответ #2 : 27 Сентября 2004, 06:18:12 »
Пример текста для поиска:

phreak




           
http://www.test.com" target="new">TEst.com

         







Text.

       


Vitaliy.

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
поиск тегов в html
« Ответ #3 : 13 Октября 2004, 15:45:40 »
Забудь про жадность :) В первую очередь надо что-то почитать... например,
http://www.webscript.ru/stories/04/06/25/6006996 - регулярные выражения для новичков.
http://www.webscript.ru/stories/04/06/29/9711672 - регулярные выражения для продвинутых новичков.

Во вторых, касательно твоей проблемы применяем позитивную опережающуюю проверку:
preg_match_all("/]*>(.*)(?=<\\/a>)/i", $text, $match);

надеюсь, я дал направление, дальше сам завершишь...
работа в Украине

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28