2015-10-02 2 views
0

Я использую jericho для дезинфекции html, и он отлично работает. За исключением одной ситуации, я не могу понять. Я хочу полностью удалить любой скрипт и содержимое скрипта. Прямо сейчас я удаляю тег скрипта, но содержимое реального скрипта сохраняется.Как разобрать JavaScript из произвольного HTML

Так что в настоящее время я создаю объект Source и выполняю fullSequentialParse. Затем я создаю OutputDocument и просматриваю каждый тег.

Когда я добираюсь до тега «script», я просто хочу заменить все на «».

Любые идеи?

ТИА

ответ

1

Я не знаком с Иерихоном, однако он имеет возможность работать по дереву, очень похожего на DOM дерево, так что вы можете удалить scriptэлемент вместо только тега , (Если у вас огромный HTML, это может быть не оптимальным).

Если нет, то вы можете пойти по пути SAX. Помните тег открытия script, и когда вы достигнете закрывающего тега, вы можете удалить все между ними.

-1

Простой и эффективный метод -

  1. ли обход, чтобы достигнуть тэги SCRIPT один за другим.
  2. Для каждого скриптового тега вы можете получить свой следующий тег (используйте цикл for).
  3. Получить позиции (целочисленное значение) начала Тег и конец Тег.
  4. Удалите эти строки из исходного объекта.
  5. Замените исходный файл. (Просто создать новый файл и сохранить в той же папке, он будет перезаписывать)

A2A:)