如何使用Rhino删除<scripts>标签?</scripts>

时间:2013-11-22 07:56:07

标签: java javascript regex jsoup rhino

我有一封使用Jsoup解析的HTML电子邮件: -

Jsoup.parse(bizmsg.getMessageBody()).text()

但它无法删除脚本标记: -

<script>
document.write("Bazinga!")
</script>

我一直在使用这样的正则表达式: -

String(v).replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig, "");

成功删除脚本。但我遇到了这个问题JSoup to parse <script> tag

如何使用Rhino解析脚本? Code-Sample非常有用,谢谢。

1 个答案:

答案 0 :(得分:1)

您无需使用Rhino删除<script>标记。在JSoup中使用简单的CSS选择器并删除获得的节点。这是www.google.com上的一个最小示例

public static void main(String[] args) throws MalformedURLException, IOException {
    Document doc = Jsoup.parse(new URL("http://www.google.com"),5000);
    Elements elems = doc.select("script");
    for (Element elem : elems)
        elem.remove();
    System.out.println(doc);

}