Добрый день. Извините, в регулярках я не силен. Суть вопроса: есть вот такой HTML код HTML: <p> <a href="#">link</a> </p> <p class="fancybox"> <a href="#">link with fancybox</a> </p> Вопрос: как для ссылки .fancybox a задать аттрибут data-fancybox? HTML: <p> <a href="#">link</a> </p> <p class="fancybox"> <a href="#" data-fancybox>link with fancybox</a> </p> При использовании правила ниже - у меня заменяются все ссылки, а нужно только там, где есть определенный класс у родителя PHP: $content = preg_replace('/(<a\b[^><]*)>/i', '$1 data-fancybox>', $content);
Вроде работает: PHP: $content = preg_replace('/ (<p[^><]*class=".*?fancybox.*?"[^><]*?> # тег <p> c .fancybox [^><]*? # то, что между ними <a\b[^><]*)> # тег <a> /ix', '$1 data-fancybox>', $content); Думаю, что есть решение изящнее.