Как удалить атрибуты HTML, кроме "src" и "alt" в JAVA - PullRequest
2 голосов
/ 18 февраля 2009

Как удалить все атрибуты из тегов HTML в строке, кроме «alt» и «src» с использованием Java?

И еще .. как мне получить содержимое всех атрибутов "src" в строке?

:)

Ответы [ 2 ]

3 голосов
/ 18 февраля 2009

Вы можете:

  • Реализация SAX-парсера ;
  • Создайте документ с помощью DOM-парсера , обойдите его и удалите, а затем конвертируйте обратно в HTML; или
  • Используйте преобразование идентичности в XSLT (при условии, что ваш HTML находится в формате XHTML или может быть преобразован в него, скажем, с помощью JTidy ) с некоторыми дополнительными случаями для удаления атрибутов, которые вы не используете не хочу.

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

0 голосов
/ 20 февраля 2009

ОК, решил как-то.

Использовал библиотеку HTMLCleaner для анализа входных данных в допустимом формате.

Затем я использую синтаксический анализатор DOM, чтобы перебрать все и убрать все запрещенные теги и атрибуты.

(и несколько мелких уродливых хаков;))

Это было много работы.

...