Я знаком с методами etree strip_tags
и strip_elements
, но я ищу простой способ удаления тегов (и оставляя их содержимое), которые содержат только определенные атрибуты/значения.
Например: я хотел бы удалить все теги span
или div
(или другие элементы) из дерева (xhtm
l), которые имеют атрибут/значение class='myclass'
(сохраняя содержимое элемента как strip_tags
). Между тем те же элементы, которые не имеют class='myclass'
, должны оставаться нетронутыми.
И наоборот: я хотел бы удалить все "голые" spans
или divs
из дерева. Значит только те spans
/divs
(или любые другие элементы в этом отношении), которые не имеют абсолютно никаких атрибутов. Оставляя те же самые элементы, у которых есть атрибуты (любые) нетронутые.
Я чувствую, что мне не хватает чего-то очевидного, но я довольно долго искал поиски.