2015-10-02 38 views
0

我正在使用jericho来消毒html,并且它的效果很好。除了在一种情况下,我无法弄清楚。我想完全删除任何脚本和脚本内容。现在,我正在删除脚本标记,但实际的脚本内容保留。如何从任意HTML解析出JavaScript

因此,目前我创建一个Source对象并执行fullSequentialParse。然后我创建一个OutputDocument并遍历每个标签。

当我看到一个“脚本”标签时,我只是想用“”替换整个东西。

任何想法?

TIA

回答

1

我不熟悉杰里科,但它必须在树上,非常类似于DOM树工作的能力,这样你就可以删除script元素而不只是标签的。 (如果你有一个巨大的HTML,虽然这可能不是最佳的)。

如果没有,那么你可以去SAX方式的事情。请记住开头的script标签,当您到达结束标签时,您可以删除中间的所有内容。

-1

简单而有效的方法 -

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

A2A:)