现在的位置: 首页 > 综合 > 正文

我收藏的特殊字符过滤函数

2013年10月22日 ⁄ 综合 ⁄ 共 2685字 ⁄ 字号 评论关闭
       这个我这里自己一直用的几个函数,下面贴出来。
       希望尽量不是直接要实例就去用,而不关心他本来的意义和实现思路等。加油!

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

            /// <summary>
            /// 对字符串进行检查和替换其中的特殊字符
            /// </summary>
            /// <param name="strHtml"></param>
            /// <returns></returns>
            public static string HtmlToTxt(string strHtml)
            {
                string[] aryReg ={
                        @"<script[^>]*?>.*?</script>",
                        @"<(///s*)?!?((/w+:)?/w+)(/w+(/s*=?/s*(([""'])(//[""'tbnr]|[^/7])*?/7|/w+)|.{0})|/s)*?(///s*)?>",
                        @"([/r/n])[/s]+",
                        @"&(quot|#34);",
                        @"&(amp|#38);",
                        @"&(lt|#60);",
                        @"&(gt|#62);",
                        @"&(nbsp|#160);",
                        @"&(iexcl|#161);",
                        @"&(cent|#162);",
                        @"&(pound|#163);",
                        @"&(copy|#169);",
                        @"&#(/d+);",
                        @"-->",
                        @"<!--.*/n"
                        };

                string newReg = aryReg[0];
                string strOutput = strHtml;
                for (int i = 0; i < aryReg.Length; i++)
                {
                    Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase);
                    strOutput = regex.Replace(strOutput, string.Empty);
                }

                strOutput.Replace("<", "");
                strOutput.Replace(">", "");
                strOutput.Replace("/r/n", "");



                return strOutput;
            }


=================另外两个函数=====================
    /// <summary>
    /// 替换html中的特殊字符
    /// </summary>
    /// <param name="theString">需要进行替换的文本。</param>
    /// <returns>替换完的文本。</returns>
    public string HtmlEncode(string theString)
    {
        theString = theString.Replace(">", "&gt;");
        theString = theString.Replace("<", "&lt;");
        theString = theString.Replace(" ", "&nbsp;");
        theString = theString.Replace(" ", "&nbsp;");
        theString = theString.Replace("/"", "&quot;");
        theString = theString.Replace("/'", "'");
        theString = theString.Replace("/n", "<br/> ");
        return theString;
    }

    /// <summary>
    /// 恢复html中的特殊字符
    /// </summary>
    /// <param name="theString">需要恢复的文本。</param>
    /// <returns>恢复好的文本。</returns>
    public string HtmlDiscode(string theString)
    {
        theString = theString.Replace("&gt;", ">");
        theString = theString.Replace("&lt;", "<");
        theString = theString.Replace("&nbsp;", " ");
        theString = theString.Replace("&nbsp;", " ");
        theString = theString.Replace("&quot;", "/"");
        theString = theString.Replace("'", "/'");
        theString = theString.Replace("<br/> ", "/n");
        return theString;
    }

抱歉!评论已关闭.