html代码有很多 js代码,
<script type="text/javascript">
......
</script>想全部替换,全去掉

解决方案 »

  1.   

    function toTXT(str){ 
         str = str.replace(/\&/g, "& amp;"); 
         str = str.replace(/\>/g, "& gt;"); 
         str = str.replace(/\</g, "& lt;"); 
         str = str.replace(/\"/g, "& quot;"); 
         str = str.replace(/\'/g, "& #39;"); 
         return str; 

      

  2.   

    <script type="text/javascript">(?s:.*?)</script>
      

  3.   

       backstr=RegReplace(backstr,"<script((.|\n)*?)\<\/script\>","") 
      

  4.   

            #region 去除脚本
            public static string NoJS(string Htmlstring)
            {
                if (string.IsNullOrEmpty(Htmlstring) == true)
                {
                    return "";
                }
                Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);            return Htmlstring;
            }
            #endregion
      

  5.   

            string str = "aaaaaaaaa<script type=\"text/javascript\">bbbbbbbbbbbbb</script>cccccccc"
                        + "dddddd<script type=\"text/javascript\">eeeeeeeee</script>fffff";
            string result = Regex.Replace(str, @"(?is)<\s*script[^>]*?>.*?</script>", "");
            Response.Write(result);
      

  6.   

    楼上2位的越写越像正确答案。但稍微考虑多一点就更完美了。script后面加一个\b会更严谨一点。否则
    <script1
    这样的自定义标签页被删掉了。
      

  7.   


    script1 这样的自定义标签不常见,正则不需要严谨,凡事过犹不及,以够用为度。我上面写的模式其实还可以再简化:<script type="text/javascript">(?s:.*?)</script>改为<script(?s:.*?)</script>