Java 如何使用Rhino去除<;脚本>;标签?

Java 如何使用Rhino去除<;脚本>;标签?,java,javascript,regex,jsoup,rhino,Java,Javascript,Regex,Jsoup,Rhino,我有一封HTML电子邮件,我使用Jsoup解析它:- Jsoup.parse(bizmsg.getMessageBody()).text() 但它无法删除脚本标记:- <script> document.write("Bazinga!") </script> 文档。写(“巴辛加!”) 我一直在这样使用正则表达式:- String(v).replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig

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

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

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

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

文档。写(“巴辛加!”)
我一直在这样使用正则表达式:-

String(v).replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig, "");
String(v).替换(/(?:)(\n |\r |.*)(?:)/ig,”;
以成功删除脚本。但我遇到了这个问题


如何使用Rhino解析脚本?代码示例将非常有用,谢谢。

您不需要使用Rhino删除标记。在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);

}

这个答案对你有帮助吗?