я использую этот код, чтобы добавить на мою страницу тег с img tag rel = «lightbox» следующим образом:
$petropas1 = preg_replace('~<a(?=[^>]+>\s*<img)~','<a rel="lightbox"',$petropas1);
Пока здесь все в порядке, но что если я хочу исключить изображения, у которых у тега есть класс = «nothis»? Я имею в виду, когда существует это:
<a href="" class="nothis"><img src="" alt="" title="" border="0" /></a>
Я хочу, чтобы регулярное выражение, которое я показал вам ранее, добавляло rel = «lightbox» к каждому тегу перед img, но не к тем, у которых тег имеет класс = «nothis».
Можете ли вы сказать мне, как изменить регулярное выражение, чтобы сделать эту работу?
Спасибо
Используйте отрицательный взгляд внутри положительного взгляда, чтобы установить условие, которое соответствует любому, но не class="nothis"
или же >
один или несколько раз.
<a(?=(?:(?!class="nothis")[^>])+>\s*<img)
Других решений пока нет …