Автор Тема: preg_match_all  (Прочитано 2824 раз)

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

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
preg_match_all
« : 10 Августа 2002, 22:08:57 »

preg_match_all
("|<a.*?href=[\\"\']?(.*)[\\"\']?>|U", $this->contents, $res, PREG_SET_ORDER);
for ($i=0; $i<sizeof($res); $i++)
{
   $res[$i][1] = str_replace("\\"", "", $res[$i][1]);
   print "res[".$i."][1] = ".$res[$i][1]."
";
}

Два вопроса:
1. Что делает модификатор U в "||U"?
2. Это регулярное выражение должно вырезать ссылки из , и если ссылка в кавычках, то отбрасывать и их. Почему-то закрывающая кавычка отбрасывается, а открывающая нет. Приходится извращаться и юзать str_replace, хотя наверное можно обойтись и без этого?

Оффлайн Covex

  • Только встал и уже устал.
  • Постоялец
  • ***
  • Сообщений: 208
  • +0/-0
  • 2
    • Просмотр профиля
preg_match_all
« Ответ #1 : 10 Августа 2002, 23:44:15 »

Оффлайн grinder

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 90
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
preg_match_all
« Ответ #2 : 11 Августа 2002, 00:01:15 »
thnx

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
preg_match_all
« Ответ #3 : 11 Августа 2002, 12:40:07 »
Цитировать
Почему-то закрывающая кавычка отбрасывается, а открывающая нет.

Измени

preg_match_all
("|<a.*?href=[\\\\"\']?([^\\\\"\'\\\\s]*)[\\\\"\']?>|U", $this->contents, $res, PREG_SET_ORDER);
После трех дней без программирования жизнь становится бессмысленной.

 

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