我需要截取富文本框中的字符,结果才发现截的都是html标签,有什么办法直接截取内容,而不是html标签?

解决方案 »

  1.   


        #region/// 过滤html,js,css代码
        ///  
        /// 过滤html,js,css代码 
        ///  
        /// 参数传入 
        ///  
        public static string CheckStr(string html)
        {
            System.Text.RegularExpressions.Regex regex1 = new System.Text.RegularExpressions.Regex(@"", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex2 = new System.Text.RegularExpressions.Regex(@" href *= *[\s\S]*script *:", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex3 = new System.Text.RegularExpressions.Regex(@" no[\s\S]*=", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex4 = new System.Text.RegularExpressions.Regex(@"", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex5 = new System.Text.RegularExpressions.Regex(@"", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex6 = new System.Text.RegularExpressions.Regex(@"\]+\>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex7 = new System.Text.RegularExpressions.Regex(@" 
    ", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex8 = new System.Text.RegularExpressions.Regex(@" 
    ", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            System.Text.RegularExpressions.Regex regex9 = new System.Text.RegularExpressions.Regex(@"<[^>]*>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            html = regex1.Replace(html, ""); //过滤标记 
            html = regex2.Replace(html, ""); //过滤href=javascript: () 属性 
            html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件 
            html = regex4.Replace(html, ""); //过滤iframe 
            html = regex5.Replace(html, ""); //过滤frameset 
            html = regex6.Replace(html, ""); //过滤frameset 
            html = regex7.Replace(html, ""); //过滤frameset 
            html = regex8.Replace(html, ""); //过滤frameset 
            html = regex9.Replace(html, "");
            html = html.Replace(" ", "");
            //html = html.Replace("", "");
            //html = html.Replace("", "");
            return html;
        }
        #endregion
        #region 
        ///  
        /// 过滤p /p代码 
        ///  
        /// 参数传入 
        ///  
        public static string InputStr(string html)
        {
            html = html.Replace(@"\]+\>", "");
            //html = html.Replace(@" ", "");
            //html = html.Replace(@" ", "");
            return html;
        }
        #endregion
     /// <summary>
       /// 截取字符串
       /// </summary>
       /// <param name="str">要处理的字符串</param>
       /// <param name="length">要截取的长度</param>
       /// <returns></returns>
        public static string GetLength(string str, int length)
        {
            string strR = str;
            if (str.Length > length)
            {
                strR = str.Substring(0, length) + "...";
            }
            return strR;
        }