Замена

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

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

    Drak0n4ik Создатель

    Регистр.:
    8 май 2009
    Сообщения:
    25
    Симпатии:
    1
    есть линки в стиле <img src="path/to/image">
    а есть <img src="http://path/to/image">

    как составить регулярку, чтобы она находила картинки с относительным путем и добавляла сочетание «../» ?
    [EDIT]: ../ надо добавить вначало относительного пути.
     
  2. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    сначала выдерни все image, потом для них примени приведенную регулярку (код скопипастил прямо из отладчика. вроде работает)

    PHP:
    $str="http://domain.ru/xxx/path/zzz.jpg";
    $str=preg_replace('/http:\/\/[^\/]+\//isU',"../",$str);
    print 
    $str;
     
  3. Drak0n4ik

    Drak0n4ik Создатель

    Регистр.:
    8 май 2009
    Сообщения:
    25
    Симпатии:
    1
    Я наверно неправильно выразился. Ссылки с абсолютным путем регулярка не должна трогать, а в ссылки с относительным путем должна добавлять ../ в начало.
    Заранее спасибо.
     
  4. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    Смотри, из под дебаггера:
    $x= preg_replace('/src=\"(?=[^(http:\/\/)])/isU','src="../',$str2);
     
    Drak0n4ik нравится это.
Статус темы:
Закрыта.