如何从任意HTML中解析出JavaScript



我使用jericho来清理html,它工作得很好。但有一种情况我不明白。我想完全删除任何脚本和脚本内容。现在我得到的脚本标签删除,但实际的脚本内容被保留。

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

当我找到一个"script"标签时,我只想用"代替整个内容。

任何想法?

TIA

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

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

简单有效的方法-

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

负责 :)

相关内容

  • 没有找到相关文章