Как удалить теги HTML <a>в элементе CDATA - PullRequest
0 голосов
/ 15 марта 2010

У меня есть HTML в элементе CDATA (HTML слишком дерьмовый для анализа), и я хотел бы удалить теги <a href>, но оставить текст в тегах.

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

Все советы приветствуются!

1 Ответ

1 голос
/ 15 марта 2010

Вы можете удалить что-либо из строки, которая выглядит как HTML-ссылка через регулярное выражение. Результаты в значительной степени зависят от вашего ввода, но замена </?a\b[^>]*> на пустую строку может привести к довольно серьезным последствиям.

В любом случае, обработка HTML с помощью регулярных выражений является дрянной и специальной. Если ваш набор входных данных ограничен и общеизвестен, и все, что вам нужно сделать, это какой-то одноразовый код одноразового преобразования, тогда может быть достаточно дрянного и специального и вам это сойдет с рук.

Если вы разрабатываете код, предназначенный для долговременной сортировки, вам непременно следует обратиться к одному из доступных анализаторов HTML ( BeautifulSoup для Python или HTML Agility Pack для .NET приходит на ум) и не только обрабатывает ваш HTML структурированным образом, но и исправляет его, пока вы на нем.

...