отрицание в preg_replace

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

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

    autos

    Регистр.:
    14 июл 2007
    Сообщения:
    193
    Симпатии:
    50
    обычно вырезаю так изображения

    PHP:
    $output preg_replace('#(Перейти по ссылке',
      
    '<img src="$1" alt="" width="" height="" />'$str);
    но если перед ссылкой на картинку стоит scr=" то заменять не надо, как сделать?
     
    Последнее редактирование модератором: 27 июн 2017
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    212
    Симпатии:
    274
    (?<!...) негативная ретроспективная проверка.
    PHP:
    $output preg_replace(
       
    '#(?<!src=["\']|href=["\'])(http://([^\s]*)\.(jpg|gif|png))#i',
       
    '<img src="$1" alt="" width="" height="" />',
       
    $str
    );
     
    Absolute, autos, latteo и ещё 1-му нравится это.
Статус темы:
Закрыта.