常用字符串操作类.HTML代码,生成随机数

using  System;
using  System.Drawing;
using  System.Data;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Text.RegularExpressions;
using  System.IO;
using  System.Drawing.Imaging;
using  System.Text;
using  System.Web.Security;

namespace  4ec
{
    
///   <summary>
    
///  对一些字符串进行操作的类

    
///   </summary>
     public   class  StringUtil
    {
        
private   static   string  passWord;  // 加密字符串

        
///   <summary>
        
///  判断输入是否数字
        
///   </summary>
        
///   <param name="num"> 要判断的字符串 </param>
        
///   <returns></returns>
         static   public   bool  VldInt( string  num)
        {
            
#region
            
try
            {
                Convert.ToInt32(num);
                
return   true ;
            }
            
catch  {  return   false ; }
            
#endregion
        }
          

        
///   <summary>
        
///  修改特殊字符
        
///   </summary>
        
///   <param name="str"> 要替换的字符串 </param>
        
///   <returns></returns>
         static   public   string  CheckStr( string  str)
        {
            
#region
            
return  str.Replace( " <br /> " " " ).Replace( " & " " &amp; " ).Replace( " ' " " &apos; " ).Replace( @" "" " " &quot; " ).Replace( "   " " &nbsp; " ).Replace( " < " " &lt; " ).Replace( " > " " &gt; " ).Replace( "   " " &nbsp; " ).Replace( "  where  " "  where  " ).
                Replace(
"  select  " "  select  " ).Replace( "  insert  " "  insert  " ).Replace( "  create  " "  create  " ).Replace( "  drop  " "  drop  " ).
                Replace(
"  alter  " "  alter  " ).Replace( "  delete  " "  delete  " ).Replace( "  update  " "  update  " ).Replace( "  or  " "  or  " ).Replace( " " " @" "").
                Replace(
" " " < br  /> " );
             #endregion
        }

        
///   <summary>
        
///  恢复特殊字符
        
///   </summary>
        
///   <param name="str"> 要替换的字符串 </param>
        
///   <returns></returns>
         static   public   string  UnCheckStr( string  str)
        {
            
#region
            
return  str.Replace( " &amp; " " & " ).Replace( " &apos; " " ' " ).Replace( " &quot; " @" "" " ).Replace( " &nbsp; " "   " ).Replace( " &lt; " " < " ).Replace( " &gt; " " > " ).Replace( " &nbsp; " "   " ).Replace( "  where  " "  where  " ).
                Replace(
"  select  " "  select  " ).Replace( "  insert  " "  insert  " ).Replace( "  create  " "  create  " ).Replace( "  drop  " "  drop  " ).
                Replace(
"  alter  " "  alter  " ).Replace( "  delete  " "  delete  " ).Replace( "  update  " "  update  " ).Replace( "  or  " "  or  " ).Replace( @" "",  " "" );
            
#endregion
        }

        
///   <summary>
        
///  编辑器代码转换
        
///   </summary>
        
///   <returns></returns>
         static   public   string  UBBCode( string  strContent,  string  DisSM,  string  DisUBB,  string  DisIMG,  string  AutoURL,  string  AutoKEY, DataView log_Smilies, DataView log_KeywordsContent)
        {
            
#region
            
string  re, tmpStr, tmpStr1, tmpStr2, tmpStr3, tmpStr4, rndID;
            
//  Regex r; //  声明一个 Regex类的变量
            MatchCollection strMatchs; // 表示非重叠匹配的序列
            
// string strContent,string DisSM,string DisUBB,string DisIMG,string AutoURL,string AutoKEY

            
if  (AutoURL  ==   " 1 " )
            {
                re 
=   @" ([^=]]['']*?|^)(http|https|rstp|ftp|mms|ed2k)://([A-Za-z0-9./=?%-_~`&@':+!]*) " ;
                
//  r = new Regex(re);
                
// strMatchs = r.Matches(strContent);
                strMatchs  =  Regex.Matches(strContent, re);
                
foreach  (Match NextMatch  in  strMatchs)
                {
                    tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                    tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                    tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                    tmpStr3 
=  NextMatch.Groups[ 3 ].Value;
                    strContent 
=  strContent.Replace(tmpStr,  @" <a href="" "   +  tmpStr2  +   @" :// "   +  tmpStr3  +   @" "" target=""_blank""> "   +  tmpStr2  +   @" :// "   +  tmpStr3  +   @" </a> " );
                }
            }
            
if  (DisUBB  !=   " 1 " )
            {
                
if  (DisIMG  ==   " 1 " )
                {
                    re 
=   @" ([img])(.[^]]*)[/img] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        
if  (DisIMG  ==   " 1 " )
                            strContent 
=  strContent.Replace(tmpStr,  @" <img src="" "   +  tmpStr2  +   @" "" border=""0"" alt=""""/> " );
                        
else
                            strContent 
=  strContent.Replace(tmpStr,  @" <a href="" "   +  tmpStr2  +   @" "" target=""_blank"" title="" "   +  tmpStr2  +   @" ""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a> " );
                    }

                    re 
=   @" [img=(left|right|center|absmiddle|)](.[^]]*)([/img]) " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        
if  (DisIMG  ==   " 1 " )
                            strContent 
=  strContent.Replace(tmpStr,  @" <img align="" "   +  tmpStr1  +   @" "" src="" "   +  tmpStr2  +   @" "" border=""0"" alt=""""/> " );
                        
else
                            strContent 
=  strContent.Replace(tmpStr,  @" <a href="" "   +  tmpStr2  +   @" "" target=""_blank"" title="" "   +  tmpStr2  +   @" ""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a> " );
                    }

                    re 
=   @" [img=(d*|),(d*|)](.[^]]*)[/img] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        tmpStr3 
=  NextMatch.Groups[ 3 ].Value;
                        
if  (DisIMG  ==   " 1 " )
                            strContent 
=  strContent.Replace(tmpStr,  @" <img width="" "   +  tmpStr1  +   @" "" height="" "   +  tmpStr2  +   @" "" src="" "   +  tmpStr3  +   @" "" border=""0"" alt=""""/> " );
                        
else
                            strContent 
=  strContent.Replace(tmpStr,  @" <a href="" "   +  tmpStr3  +   @" "" target=""_blank"" title="" "   +  tmpStr3  +   @" ""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a> " );
                    }

                    re 
=   @" [img=(d*|),(d*|),(left|right|center|absmiddle|)](.[^]]*)([/img]) " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        tmpStr3 
=  NextMatch.Groups[ 3 ].Value;
                        tmpStr4 
=  NextMatch.Groups[ 4 ].Value;
                        
if  (DisIMG  ==   " 1 " )
                            strContent 
=  strContent.Replace(tmpStr,  @" <img width="" "   +  tmpStr1  +   @" "" height="" "   +  tmpStr2  +   @" "" align="" "   +  tmpStr3  +   @" "" src="" "   +  tmpStr4  +   @" "" border=""0"" alt=""""/> " );
                        
else
                            strContent 
=  strContent.Replace(tmpStr,  @" <a href="" "   +  tmpStr4  +   @" "" target=""_blank"" title="" "   +  tmpStr4  +   @" ""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a> " );
                    }
                    
// -----------多媒体标签----------------
                    re  =   @" [(swf|wma|wmv|rm|ra|qt)(=d*?|)(,d*?|)]([^<>]*?)[/(swf|wma|wmv|rm|ra|qt)] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
string  strType, strWidth, strHeight, strSRC;
                    
string  TitleText  =   "" ;
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        strType 
=  NextMatch.Groups[ 1 ].Value;
                        
if  (strType  ==   " swf " )
                            TitleText 
=   @" <img src=""images/flash.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>Flash动画 " ;
                        
else   if  (strType  ==   " wma " )
                            TitleText 
=   @" <img src=""images/music.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放音频文件 " ;
                        
else   if  (strType  ==   " wmv " )
                            TitleText 
=   @" <img src=""images/mediaplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放视频文件 " ;
                        
else   if  (strType  ==   " rm " )
                            TitleText 
=   @" <img src=""images/realplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放real视频流文件 " ;
                        
else   if  (strType  ==   " ra " )
                            TitleText 
=   @" <img src=""images/realplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放real音频流文件 " ;
                        
else   if  (strType  ==   " qt " )
                            TitleText 
=   @" <img src=""images/mediaplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放mov视频文件 " ;

                        strWidth 
=  NextMatch.Groups[ 2 ].Value;
                        strHeight 
=  NextMatch.Groups[ 3 ].Value;
                        
if  (strWidth.Length  ==   0 )
                            strWidth 
=   " 400 " ;
                        
else
                            strWidth 
=  strWidth.Substring(strWidth.Length  -   1 );

                        
if  (strHeight.Length  ==   0 )
                            strHeight 
=   " 300 " ;
                        
else
                            strHeight 
=  strHeight.Substring(strHeight.Length  -   1 );

                        strSRC 
=  NextMatch.Groups[ 4 ].Value;
                        rndID 
=  GenerateCheckCode();
                        strContent 
=  strContent.Replace(tmpStr,  @" <div class=""UBBPanel""><div class=""UBBTitle""> "   +  TitleText  +   @" </div><div class=""UBBContent""><a id="" "   +  rndID  +   @" _href"" href=""javascript:MediaShow(' "   +  strType  +   " ',' "   +  rndID  +   " ',' "   +  strSRC  +   " ',' "   +  strWidth  +   " ',' "   +  strHeight  +   @" ')""><img name="" "   +  rndID  +   @" _img"" src=""images/mm_snd.gif"" style=""margin:0px 3px -2px 0px"" border=""0"" alt=""""/><span id="" "   +  rndID  +   @" _text"">在线播放</span></a><div id="" "   +  rndID  +   @" ""></div></div></div> " );
                    }

                    re 
=   @" ([mid])(.[^]]*)[/mid] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <embed src=""$2"" height=""45"" width=""314"" autostart=""0""></embed> " );
                    
// -----------常规标签----------------
                    re  =   @" [url=(.[^]]*)](.[^[]*)[/url] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <a target=""_blank"" href="" "   +  tmpStr1  +   @" ""> "   +  tmpStr2  +   @" </a> " );
                    }

                    re 
=   @" [url](.[^[]*)[/url] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <a target=""_blank"" href="" "   +  tmpStr1  +   @" ""> "   +  tmpStr1  +   @" </a> " );
                    }

                    re 
=   @" [ed2k=([^ ]*?)]([^ ]*?)[/ed2k] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <img border="""" src=""images/ed2k.gif"" alt=""""/><a target=""_blank"" href="" "   +  tmpStr1  +   @" ""> "   +  tmpStr2  +   @" </a> " );
                    }

                    re 
=   @" [ed2k]([^ ]*?)[/ed2k] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <img border="""" src=""images/ed2k.gif"" alt=""""/><a target=""_blank"" href="" "   +  tmpStr1  +   @" ""> "   +  tmpStr1  +   @" </a> " );
                    }

                    re 
=   @" [email=(.[^]]*)](.[^[]*)[/email] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <a href=""mailto: "   +  tmpStr1  +   @" ""> "   +  tmpStr2  +   @" </a> " );
                    }


                    re 
=   @" [email](.[^[]*)[/email] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <a href=""mailto: "   +  tmpStr1  +   @" ""> "   +  tmpStr1  +   @" </a> " );
                    }
                    
// -----------字体格式----------------
                    re  =   @" [pagesplitxx] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <span style=""PAGE-BREAK-AFTER: always"">[pagesplitxx]</span> " );
                    re 
=   @" [space] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @"    " );
                    re 
=   @" [align=(w{4,6})]([^ ]*?)[/align] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <div align=""$1"">$2</div> " );
                    re 
=   @" [color=(#w{3,10}|w{3,10})]([^ ]*?)[/color] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <span style=""color:$1"">$2</span> " );
                    re 
=   @" [size=(d{1,2})]([^ ]*?)[/size] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <span style=""font-size:$1pt"">$2</span> " );
                    re 
=   @" [font=([^ ]*?)]([^ ]*?)[/font] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <span style=""font-family:$1"">$2</span> " );
                    re 
=   @" [b]([^ ]*?)[/b] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <strong>$1</strong> " );
                    re 
=   @" [i]([^ ]*?)[/i] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <i>$1</i> " );
                    re 
=   @" [u]([^ ]*?)[/u] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <u>$1</u> " );
                    re 
=   @" [s]([^ ]*?)[/s] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <s>$1</s> " );
                    re 
=   @" [sup]([^ ]*?)[/sup] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <sup>$1</sup> " );
                    re 
=   @" [sub]([^ ]*?)[/sub] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <sub>$1</sub> " );
                    re 
=   @" [fly]([^ ]*?)[/fly] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <marquee width=""90%"" behavior=""alternate"" scrollamount=""3"">$1</marquee> " );
                    
// -----------特殊标签---------------
                    re  =   @" [down=(.[^]]*)](.[^[]*)[/down] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="" "   +  tmpStr1  +   @" "" target=""_blank""> "   +  tmpStr2  +   @" </a> " );
                    }

                    re 
=   @" [down](.[^[]*)[/down] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        strContent 
=  strContent.Replace(tmpStr,  @" <img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="" "   +  tmpStr1  +   @" "" target=""_blank"">下载此文件</a> " );
                    }

                    re 
=   @" [mDown=(.[^]]*)](.[^[]*)[/mDown] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        tmpStr2 
=  NextMatch.Groups[ 2 ].Value;
                        
if  (UsersInfo.GetUserName  !=   null )
                            strContent 
=  strContent.Replace(tmpStr,  @" <img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="" "   +  tmpStr1  +   @" "" target=""_blank""> "   +  tmpStr2  +   @" </a> " );
                        
else
                            strContent 
=  strContent.Replace(tmpStr,  @" <img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.aspx"">登录</a> | <a href=""register.aspx"">注册</a> " );
                    }

                    re 
=   @" [mDown](.[^[]*)[/mDown] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        
if  (UsersInfo.GetUserName  !=   null )
                            strContent 
=  strContent.Replace(tmpStr,  @" <img src=""images/download.gif"" alt=""下载文件"" style=""margin:0px 2px -4px 0px""/> <a href="" "   +  tmpStr1  +   @" "" target=""_blank"">下载此文件</a> " );
                        
else
                            strContent 
=  strContent.Replace(tmpStr,  @" <img src=""images/download.gif"" alt=""只允许会员下载"" style=""margin:0px 2px -4px 0px""/> 该文件只允许会员下载! <a href=""login.aspx"">登录</a> | <a href=""register.aspx"">注册</a> " );
                    }

                    re 
=   @" [code](.*?)[/code] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/code.gif"" style=""margin:0px 2px -3px 0px"" alt=""程序代码""/> 程序代码</div><div class=""UBBContent"">$1</div></div> " );
                    re 
=   @" [quote](.*?)[/quote] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/quote.gif"" style=""margin:0px 2px -3px 0px"" alt=""引用内容""/> 引用内容</div><div class=""UBBContent"">$1</div></div> " );
                    re 
=   @" [quote=(.[^]]*)](.*?)[/quote] " ;
                    strContent 
=  Regex.Replace(strContent, re,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/quote.gif"" style=""margin:0px 2px -3px 0px"" alt=""引用来自 $1""/> 引用来自 $1</div><div class=""UBBContent"">$2</div></div> " );

                    re 
=   @" [hidden](.*?)[/hidden] " ;
                    
if  (UsersInfo.GetUserName  !=   null )
                        strContent 
=  Regex.Replace(strContent, re,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/quote.gif"" style=""margin:0px 2px -3px 0px"" alt=""显示被隐藏内容""/> 显示被隐藏内容</div><div class=""UBBContent"">$1</div></div> " );
                    
else
                        strContent 
=  Regex.Replace(strContent, re,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/quote.gif"" style=""margin:0px 2px -3px 0px"" alt=""隐藏内容""/> 隐藏内容</div><div class=""UBBContent"">该内容已经被作者隐藏,只有会员才允许查阅 <a href=""login.aspx"">登录</a> | <a href=""register.aspx"">注册</a></div></div> " );

                    re 
=   @" [hidden=(.[^]]*)](.*?)[/hidden] " ;
                    
if  (UsersInfo.GetUserName  !=   null )
                        strContent 
=  Regex.Replace(strContent, re,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/quote.gif"" style=""margin:0px 2px -3px 0px"" alt=""显示被隐藏内容 $1""/> 显示被隐藏内容来自 $1</div><div class=""UBBContent"">$2</div></div> " );
                    
else
                        strContent 
=  Regex.Replace(strContent, re,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/quote.gif"" style=""margin:0px 2px -3px 0px"" alt=""隐藏内容 $1""/> 隐藏内容</div><div class=""UBBContent"">该内容已经被作者隐藏,只有会员才允许查阅 <a href=""login.aspx"">登录</a> | <a href=""register.aspx"">注册</a></div></div> " );

                    
if  (DisIMG  ==   " 1 " )
                        re 
=   @" [html](.*?)[/html] " ;
                    strMatchs 
=  Regex.Matches(strContent, re);
                    
foreach  (Match NextMatch  in  strMatchs)
                    {
                        tmpStr 
=  NextMatch.Groups[ 0 ].Value;
                        tmpStr1 
=  NextMatch.Groups[ 1 ].Value;
                        rndID 
=  GenerateCheckCode();
                        strContent 
=  strContent.Replace(tmpStr,  @" <div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/html.gif"" style=""margin:0px 2px -3px 0px""> HTML代码</div><div class=""UBBContent""><TEXTAREA rows=""8"" id="" "   +  rndID  +   @" ""> "   +  tmpStr1  +   @" </TEXTAREA><br/><INPUT οnclick=""runEx(' "   +  rndID  +   @" ')""  type=""button"" value=""运行此代码""/> <INPUT οnclick=""doCopy(' "   +  rndID  +   @" ')""  type=""button"" value=""复制此代码""/><br/> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]</div></div> " );
                    }
                }
            }

                
// -----------List标签----------------
                strContent  =  strContent.Replace( " [list] " " <ul> " );
                re 
=   @" [list=(.[^]]*)] " ;
                strContent 
=  Regex.Replace(strContent, re,  @" <ul style=""list-style-type:$1""> " );
                re 
=   @" [*](.[^[]*)( |) " ;
                strContent 
=  Regex.Replace(strContent, re,  @" <li>$1</li> " );
                strContent 
=  strContent.Replace( " [/list] " " </ul> " );

            
// -----------表情图标----------------
             if  (DisSM  ==   " 1 " )
            {
                
for  ( int  i  =   0 ; i  <  log_Smilies.Count; i ++ )
                {
                    strContent 
=  strContent.Replace(log_Smilies[i][ " sm_Text " ].ToString(),  @" <img src=""images/smilies/ "   +  log_Smilies[i][ " sm_Image " ].ToString()  +   @" "" border=""0"" style=""margin:0px 0px -2px 0px"" alt=""""/>   " );
                }
            }

            
// -----------关键词识别----------------
              if  (AutoKEY == " 1 " )
             {
                 
for  ( int  i  =   0 ; i  <  log_KeywordsContent.Count; i ++ )
                 {
                     
if  (log_KeywordsContent[i][ 3 ].ToString()  !=   ""  )
                         strContent 
=  strContent.Replace(log_KeywordsContent[i][ 1 ].ToString(),  @" <a href="" "   +  log_KeywordsContent[i][ 2 ].ToString()  +   @" "" target=""_blank""><img src=""images/keywords/ "   +  log_KeywordsContent[i][ 3 ].ToString()  +   @" "" border=""0"" alt=""""/>  "   +  log_KeywordsContent[i][ 1 ].ToString()  +   @" </a> " );
                     
else
                         strContent 
=  strContent.Replace(log_KeywordsContent[i][ 1 ].ToString(),  @" <a href="" "   +  log_KeywordsContent[i][ 2 ].ToString()  +   @" "" target=""_blank""> "   +  log_KeywordsContent[i][ 1 ].ToString()  +   @" </a> " );
                 }
             }

            
return  strContent;
            
#endregion
        }
     
        
///   <summary>
        
///  截取字符串函数
        
///   </summary>
        
///   <param name="str"> 所要截取的字符串 </param>
        
///   <param name="num"> 截取字符串的长度 </param>
        
///   <returns></returns>
         static   public   string  GetSubString( string  str,  int  num)
        {
            
#region
            
return  (str.Length  >  num)  ?  str.Substring( 0 , num)  +   " ... "  : str;
            
#endregion
        }

        
///   <summary>
        
///  过滤输入信息
        
///   </summary>
        
///   <param name="text"> 内容 </param>
        
///   <param name="maxLength"> 最大长度 </param>
        
///   <returns></returns>
         public   static   string  InputText( string  text,  int  maxLength)
        {
            
#region
            text 
=  text.Trim();
            
if  ( string .IsNullOrEmpty(text))
                
return   string .Empty;
            
if  (text.Length  >  maxLength)
                text 
=  text.Substring( 0 , maxLength);
            text 
=  Regex.Replace(text,  " [/s]{2,} " "   " );  // two or more spaces
            text  =  Regex.Replace(text,  " (<[b|B][r|R]/*>)+|(<[p|P](.|/n)*?>) " " " );  // <br>
            text  =  Regex.Replace(text,  " (/s*&[n|N][b|B][s|S][p|P];/s*)+ " "   " );  // &nbsp;
            text  =  Regex.Replace(text,  " <(.|/n)*?> " string .Empty);  // any other tags
            text  =  text.Replace( " ' " " '' " );
            
return  text;
            
#endregion
        }

        
///   <summary>
        
///  生成随机数
        
///   </summary>
        
///   <returns></returns>
         static   public   string  GenerateCheckCode()
        {
            
#region
            
int  number;
            
char  code;
            
string  checkCode  =  String.Empty;

            System.Random random 
=   new  Random();

            
for  ( int  i  =   0 ; i  <   5 ; i ++ )
            {
                number 
=  random.Next();

                
if  (number  %   2   ==   0 )
                    code 
=  ( char )( ' 0 '   +  ( char )(number  %   10 ));
                
else
                    code 
=  ( char )( ' A '   +  ( char )(number  %   26 ));

                checkCode 
+=  code.ToString();
            }

            HttpContext.Current.Response.Cookies.Add(
new  HttpCookie( " CheckCode " , checkCode));

            
return  checkCode;
            
#endregion
        }

        
///   <summary>
        
///  获取汉字第一个拼音
        
///   </summary>
        
///   <param name="input"></param>
        
///   <returns></returns>
         static   public   string  getSpells( string  input)
        {
            
#region
            
int  len  =  input.Length;
            
string  reVal  =   "" ;
            
for  ( int  i  =   0 ; i  <  len; i ++ )
            {
                reVal 
+=  getSpell(input.Substring(i,  1 ));
            }
            
return  reVal;
            
#endregion
        }

        
///   <summary>
        
///  汉字编码转换,解决IE地址栏中文
        
///   </summary>
        
///   <param name="input"></param>
        
///   <returns></returns>
         static   public   string  Strencode( string  input)
        {
            
#region
            
return  System.Web.HttpUtility.UrlEncode(InputText(input, 100 ));
            
#endregion
        }

        
static   public   string  getSpell( string  cn)
        {
            
#region
            
byte [] arrCN  =  Encoding.Default.GetBytes(cn);
            
if  (arrCN.Length  >   1 )
            {
                
int  area  =  ( short )arrCN[ 0 ];
                
int  pos  =  ( short )arrCN[ 1 ];
                
int  code  =  (area  <<   8 +  pos;
                
int [] areacode  =  {  45217 45253 45761 46318 46826 47010 47297 47614 48119 48119 49062 49324 49896 50371 50614 50622 50906 51387 51446 52218 52698 52698 52698 52980 53689 54481  };
                
for  ( int  i  =   0 ; i  <   26 ; i ++ )
                {
                    
int  max  =   55290 ;
                    
if  (i  !=   25 ) max  =  areacode[i  +   1 ];
                    
if  (areacode[i]  <=  code  &&  code  <  max)
                    {
                        
return  Encoding.Default.GetString( new   byte [] { ( byte )( 65   +  i) });
                    }
                }
                
return   " ? " ;
            }
            
else   return  cn;
            
#endregion
        }


        
///   <summary>
        
///  半角转全角
        
///   </summary>
        
///   <param name="BJstr"></param>
        
///   <returns></returns>
         static   public   string  GetQuanJiao( string  BJstr)
        {
            
#region
            
char [] c  =  BJstr.ToCharArray();
            
for  ( int  i  =   0 ; i  <  c.Length; i ++ )
            {
                
byte [] b  =  System.Text.Encoding.Unicode.GetBytes(c, i,  1 );
                
if  (b.Length  ==   2 )
                {
                    
if  (b[ 1 ==   0 )
                    {
                        b[
0 =  ( byte )(b[ 0 -   32 );
                        b[
1 =   255 ;
                        c[i] 
=  System.Text.Encoding.Unicode.GetChars(b)[ 0 ];
                    }
                }
            }

            
string  strNew  =   new   string (c);
            
return  strNew;

            
#endregion
        }

        
///   <summary>
        
///  全角转半角
        
///   </summary>
        
///   <param name="QJstr"></param>
        
///   <returns></returns>
         static   public   string  GetBanJiao( string  QJstr)
        {
            
#region
            
char [] c  =  QJstr.ToCharArray();
            
for  ( int  i  =   0 ; i  <  c.Length; i ++ )
            {
                
byte [] b  =  System.Text.Encoding.Unicode.GetBytes(c, i,  1 );
                
if  (b.Length  ==   2 )
                {
                    
if  (b[ 1 ==   255 )
                    {
                        b[
0 =  ( byte )(b[ 0 +   32 );
                        b[
1 =   0 ;
                        c[i] 
=  System.Text.Encoding.Unicode.GetChars(b)[ 0 ];
                    }
                }
            }
            
string  strNew  =   new   string (c);
            
return  strNew;
            
#endregion
        }

        
#region  加密的类型
        
///   <summary>
        
///  加密的类型
        
///   </summary>
         public   enum  PasswordType
        {
            SHA1,
            MD5
        }
        
#endregion


        
///   <summary>
        
///  字符串加密
        
///   </summary>
        
///   <param name="PasswordString"> 要加密的字符串 </param>
        
///   <param name="PasswordFormat"> 要加密的类别 </param>
        
///   <returns></returns>
         static   public   string  EncryptPassword( string  PasswordString,  string  PasswordFormat)
        {
            
#region
            
switch  (PasswordFormat)
            {
                
case   " SHA1 " :
                    {
                        passWord 
=  FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString,  " SHA1 " );
                        
break ;
                    }
                
case   " MD5 " :
                    {
                        passWord 
=  FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString,  " MD5 " );
                        
break ;
                    }
                
default :
                    {
                        passWord 
=   string .Empty;
                        
break ;
                    }
            }
            
return  passWord;
            
#endregion
        }        
    }
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值