@Vadim1899

Как правильно составить такую регулярку?

Всем привет
Имеется CSS код элемента:
.carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right, .carousel-fade .carousel-item.active {
	opacity: 1
}


Необходимо на выходе получить:
#elements .carousel-fade .carousel-item-next.carousel-item-left, #elements .carousel-fade .carousel-item-prev.carousel-item-right, #elements .carousel-fade .carousel-item.active {
	opacity: 1
}


То есть, перед каждый родительским классом элемента добавить определенный #id
Нюанс следующий: у стиля может быть несколько классов, через запятпую. id должен подставляться к каждому классу

Пробовал через php функцию explode все сделать (обрезал сначала по символу }, потом по символу {, потом по запятой и в начало прописывал нужный мне #id, но решение очень костыльное и не оптимальное, да и неправильно работало в некоторых случаях.

В регулярках совсем не разбираюсь, поэтому прошу вашей помощи
Спасибо
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 2
xEpozZ
@xEpozZ
Веб-разработчик
$string = '.carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right, .carousel-fade .carousel-item.active {';
$prefix = '#elements';

$references = explode(', ', $string);
echo $prefix . ' ' . implode($prefix, $references);


Осталось выделить нужную часть (css-классы) и применить к ней функцию.
Ответ написан
Комментировать
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
@Vadim1899
\.\w+-\w+(?=\h)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы