zoukankan      html  css  js  c++  java
  • .net工具类——HTML处理

            #region 截取字符长度
    
            /// <summary>
            /// 截取字符长度
            /// </summary>
            /// <param name="inputString">字符</param>
            /// <param name="len">长度</param>
            /// <returns></returns>
            public static string SubString(string inputString, int len)
            {
                if (string.IsNullOrEmpty(inputString))
                    return "";
                inputString = DropHTML(inputString);
                ASCIIEncoding ascii = new ASCIIEncoding();
                int tempLen = 0;
                string tempString = "";
                byte[] s = ascii.GetBytes(inputString);
                for (int i = 0; i < s.Length; i++)
                {
                    if ((int)s[i] == 63)
                    {
                        tempLen += 2;
                    }
                    else
                    {
                        tempLen += 1;
                    }
    
                    try
                    {
                        tempString += inputString.Substring(i, 1);
                    }
                    catch
                    {
                        break;
                    }
    
                    if (tempLen > len)
                        break;
                }
                //如果截过则加上半个省略号
                byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString);
                if (mybyte.Length > len)
                    tempString += "";
                return tempString;
            }
    
            #endregion
    
            #region 清除HTML标记
    
            public static string DropHTML(string Htmlstring)
            {
                if (string.IsNullOrEmpty(Htmlstring)) return "";
                //删除脚本
                Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
                //删除HTML
                Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"([
    ])[s]+", "", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", """, RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "xa1", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "xa2", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "xa3", RegexOptions.IgnoreCase);
                Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "xa9", RegexOptions.IgnoreCase);
    
                Htmlstring = Regex.Replace(Htmlstring, @"&#(d+);", "", RegexOptions.IgnoreCase);
                Htmlstring.Replace("<", "");
                Htmlstring.Replace(">", "");
                Htmlstring.Replace("
    ", "");
                Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
                return Htmlstring;
            }
    
            #endregion
    
            #region 清除HTML标记且返回相应的长度
    
            public static string DropHTML(string Htmlstring, int strLen)
            {
                return SubString(DropHTML(Htmlstring), strLen);
            }
    
            #endregion
    
            #region TXT代码转换成HTML格式
    
            /// <summary>
            /// 字符串字符处理
            /// </summary>
            /// <param name="chr">等待处理的字符串</param>
            /// <returns>处理后的字符串</returns>
            /// //把TXT代码转换成HTML格式
            public static String ToHtml(string Input)
            {
                StringBuilder sb = new StringBuilder(Input);
                sb.Replace(" ", "&nbsp;");
                //sb.Replace("&", "&amp;");
                sb.Replace("<", "&lt;");
                sb.Replace(">", "&gt;");
                sb.Replace("
    ", "<br />");
                sb.Replace("
    ", "<br />");
                sb.Replace("	", " ");
                return sb.ToString();
            }
    
            #endregion
    
            #region HTML代码转换成TXT格式
    
            /// <summary>
            /// 字符串字符处理
            /// </summary>
            /// <param name="chr">等待处理的字符串</param>
            /// <returns>处理后的字符串</returns>
            /// //把HTML代码转换成TXT格式
            public static String ToTxt(String Input)
            {
                StringBuilder sb = new StringBuilder(Input);
                sb.Replace("&nbsp;", " ");
                sb.Replace("<br>", "
    ");
                sb.Replace("<br>", "
    ");
                sb.Replace("<br />", "
    ");
                sb.Replace("<br />", "
    ");
                sb.Replace("&lt;", "<");
                sb.Replace("&gt;", ">");
                sb.Replace("&amp;", "&");
                return sb.ToString();
            }
    
            #endregion
  • 相关阅读:
    多测师讲解unittest介绍及自动化测试实现流程_高级讲师肖sir
    多测师讲解常用的测试工具分为10类_高级讲师肖sir
    多测师讲解接口测试 _面试题003_高级讲师肖sir
    多测师接口测试 --常见的接口面试题目002---高级讲师肖sir
    Linux的mysql搭建
    学完爬虫的笔记
    postman测试实例--断言
    jemeter安装步骤
    selenium的显示等待和隐式等待区别
    loadrunner录制不了浏览器
  • 原文地址:https://www.cnblogs.com/amusement1992/p/13496235.html
Copyright © 2011-2022 走看看