我使用jericho来清理html,它工作得很好。但有一种情况我不明白。我想完全删除任何脚本和脚本内容。现在我得到的脚本标签删除,但实际的脚本内容被保留。
目前我创建了一个Source对象并执行fullSequentialParse。然后我创建一个OutputDocument并遍历每个标记。
当我找到一个"script"标签时,我只想用"代替整个内容。
任何想法?
TIA
我不熟悉Jericho,但是它有能力在树上工作,非常类似于DOM树,所以您可以删除script
元素而不仅仅是标记。(如果你有一个巨大的HTML,这可能不是最佳的,但是)。
如果没有,那么您可以采用SAX的方式。记住开始的script
标记,当到达结束标记时,可以删除中间的所有内容。
简单有效的方法-
- 逐个遍历到达脚本标签
- 对于每个脚本标签,你可以得到它的下一个结束标签(使用For循环)。
- 获取起始标签和结束标签的位置(整数值)
- 从源对象中删除这些行。
- 替换源文件。(只需新建一个文件并保存在同一个文件夹中,它会覆盖)
负责 :)