0

我正在使用 jericho 对 html 进行消毒,效果很好。除了在一种情况下我无法弄清楚。我想完全删除任何脚本和脚本内容。现在我删除了脚本标签,但保留了实际的脚本内容。

所以目前我创建了一个 Source 对象并执行了一个 fullSequentialParse。然后我创建一个 OutputDocument 并遍历每个标签。

当我到达“脚本”标签时,我只想用“”替换整个内容。

有任何想法吗?

TIA

4

2 回答 2

1

我不熟悉 Jericho,但是它能够在树上工作,非常类似于 DOM 树,因此您可以删除script 元素而不仅仅是标签。(不过,如果您有一个巨大的 HTML,这可能不是最佳选择)。

如果没有,那么您可以采用 SAX 方式。记住开始script标签,当你到达结束标签时,你可以删除中间的所有东西。

于 2015-10-02T13:19:39.687 回答
-1

简单有效的方法——

  1. 遍历以逐个到达脚本标签。
  2. 对于每个脚本标签,您可以获得其下一个结束标签(使用 for 循环)。
  3. 获取起始标签和结束标签的位置(整数值)。
  4. 从源对象中删除这些行。
  5. 替换源文件。(只需创建一个新文件并保存在同一文件夹中,它会覆盖)

A2A :)

于 2015-11-29T17:42:22.097 回答