Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Регулярные выражения > Правка src у img (HTML + PHP)


Автор: Pena 7.4.2015, 16:27
Подскажите как изменить регулярку, чтобы затрагивались src исключительно у img (не у iframe)?
Код

preg_replace('/src="[^"]*?([^"\/]+)"/i', 'src="$1"', $Строка);

Автор: alezzz 7.4.2015, 16:53
если между img и src ничего нет, то можно просто:
Код

/img.+?src="[^"]*?([^"\/]+)"/i


если могут быть стили или что-то еще перед src, то как-то так:
Код

/img(?:(?!src)|.)*src="[^"]*?([^"\/]+)"/i

Автор: Pena 7.4.2015, 17:01
Да, могут быть стили... 
А как правильно написать второй аргумент функции preg_replace() в таком случае?

Автор: alezzz 7.4.2015, 17:24
Код

preg_replace('/img((?:(?!src)|.)*)src="[^"]*?([^"\/]+)"/i', 'img$1src="$2"', $Строка);

если чего на php упустил, на perl выглядит так:
Код

s/img((?:(?!src)|.)*)src="[^"]*?([^"\/]+)"/img$1src="$2"/i;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)