日期:2014-05-16  浏览次数:20311 次

求一段正则表达 急啊!
就是把一段 string 里面的 <script>alert("a");</script>
换成 &lt;script&gt;alert(&quot;a&quot;);&lt;/script&gt;

有个小要求就是 string 里面其它的 html tag 如 <p> <div> 都不要换,只针对 <script>内容而已

------解决方案--------------------

var a='<script>alert("a");<'+'/script>';
a=a.replace(/<\/?script>/g,function(x){
return x.replace("<","&lt;").replace(">",'&gt;');
})
alert(a);
------解决方案--------------------
还要考虑:<script type="text/javascript">XXOO</script>
<script type="text/javascript">
    var a='<script type="text/javascript">alert("a");<\/script>';
    a=a.replace(/<\/?script[^>]*>/g,function(x){
        return x.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");
    });
    alert(a);
</script>