Убрать HTML-теги и контент с указанными атрибутами - PullRequest
1 голос
/ 22 января 2012

У меня много текста, помеченного так:

<span class="section">[<a href="blablabla">Section</a>]</span>

Мне нужно удалить все, что имеет class = "section" , включая теги span и текст внутри. Я ищу регулярное выражение или альтернативу для автоматизации этой задачи.

Есть какие-нибудь подсказки?

edit: Я нахожусь во всем, что помогает мне решить эту проблему, я думал, что регулярное выражение было более простым способом. я пишу в PHP.

Спасибо.

1 Ответ

2 голосов
/ 23 января 2012

Если ваши теги класса section не содержат элементов одного типа (например, у вас нет промежутков, содержащих промежутки), вы можете сделать это довольно легко с помощью регулярного выражения.

Самое простое:

$stripped = preg_replace('@<span class="section">.*?</span>@', '', $input);

Это, если вам нужно, позволяет использовать любой тег, любые другие атрибуты и любые другие классы:

$stripped = preg_replace('@<(\w+)[^>]*class="[^"]*section[^"]*"[^>]*>.*?</\1>@', '', $input);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...