现在有一段html的内容代码,现在想过滤掉<script type=\"text/javascript\" language=\"JavaScript\" src=\"183.files/js/21.js\" id=\"aaaa\"><\/script> 这个<script>的条件是必须有个id="aaaa",src的value是可变的。
我现在写了一个测试的例子 这个结果应该过滤掉第一个<script>标签才对的,请高人指点一下<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<SCRIPT LANGUAGE="JavaScript">
var a = "1<a><html><script type=\"text/javascript\" language=\"JavaScript\" src=\"183.files/js/21.js\" id=\"aaaaa\"><\/script><script type=\"text/javascript\" language=\"JavaScript\" src=\"183.files/js/22.js\" id=\"bbbbb\"><\/script></html></a>2";
//alert(a);var modifySS = /[^[<script]][\s\S]*[$[id="aaaaa"><\/script>]]/i;
//alert(a);
a = a.replace(modifySS,"");
alert(a);
</SCRIPT>

解决方案 »

  1.   

    java代码编译通过String regex ="<script.*?id=\"aaaaa\">.*?<\\/script>";
      

  2.   

    <script type="text/javascript">
    var s = "<script   type=\"text/javascript\"   language=\"JavaScript\"   src=\"183.files/js/21.js\"   id=\"aaaa\"> <\/script>";
    s = s.replace(/<script.*?id=\"aaaa\".*?<\/script>/ig,"");
    alert(s);
    </script>
      

  3.   

    java2000_net 
    这个好像不能满足要求
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <script type="text/javascript">
    var s = "<html><script   type=\"text/javascript\"   language=\"JavaScript\"   src=\"183.files/js/21.js\"   id=\"aasaa\"> <\/script><script   type=\"text/javascript\"   language=\"JavaScript\"   src=\"183.files/js/21.js\"   id=\"aaaa\"> <\/script><script   type=\"text/javascript\"   language=\"JavaScript\"   src=\"183.files/js/21.js\"   id=\"asaaa\"> <\/script></html>";
    s = s.replace(/<script.*?id=\"aaaa\".*?<\/script>/ig,"");
    alert(s);
    </script>
      

  4.   

    现在的把id不等于aaaa的也过滤掉了的也过滤