⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 func.java

📁 这是一个用JAVA语言编写的BBS论坛程序
💻 JAVA
字号:
package javabean;

import java.util.regex.*;

public class Func{
  public String HtmltoStr(String Str){
    if(!cNULL(Str))return Str;
    StringBuffer Tmp=new StringBuffer();
    int i=0;
    while(i<Str.length()){
      if(Str.charAt(i)=='\n')Tmp=Tmp.append("<br>");
      else if(Str.charAt(i)=='\r')Tmp=Tmp.append("");
      else if(Str.charAt(i)=='&')Tmp=Tmp.append("&#38;");
      else if(Str.charAt(i)=='#')Tmp=Tmp.append("&#35;");
      else if(Str.charAt(i)==';')Tmp=Tmp.append("&#59;");
      else if(Str.charAt(i)==' ')Tmp=Tmp.append("&nbsp;");
      //else if(Str.charAt(i)=='/')Tmp=Tmp.append("&#47;");
      else if(Str.charAt(i)=='"')Tmp=Tmp.append("&#34;");
      else if(Str.charAt(i)=='\'')Tmp=Tmp.append("&#39;");
      else if(Str.charAt(i)=='\\')Tmp=Tmp.append("&#92;");
      else if(Str.charAt(i)=='<')Tmp=Tmp.append("&lt;");
      else if(Str.charAt(i)=='>')Tmp=Tmp.append("&gt;");
      else Tmp=Tmp.append(Str.substring(i,i+1));
      i++;
    }
    return Tmp.toString().trim();
  }

  public String StrtoHtml(String Str){
    if(!cNULL(Str))return Str;
    String Tmp=Str;
    try{
      Tmp=Tmp.replaceAll("<br>","&#13;&#10;");
      Tmp=Tmp.replaceAll("&#38;","&");
      Tmp.replaceAll("&#35;","#");
      Tmp=Tmp.replaceAll("&#59;",";");
      Tmp=Tmp.replaceAll("&nbsp;"," ");
      //Tmp=Tmp.replaceAll("&#47;","/");
      Tmp=Tmp.replaceAll("&#34;","\"");
      Tmp=Tmp.replaceAll("&#39;","\'");
      Tmp=Tmp.replaceAll("&#92;","\\");
      Tmp=Tmp.replaceAll("&lt;","<");
      Tmp=Tmp.replaceAll("&gt;",">");
    }catch(Exception e){}
    return Tmp;
  }

  public String UnitoGB(String UniStr){
    String gbStr="";
    try{
      byte[] tempByte=UniStr.getBytes("ISO8859_1");
      gbStr=new String(tempByte,"gb2312");
    }
    catch(Exception ex){
      return "";
    }
    return gbStr.trim();
  }

  public String GBtoUni(String GBStr){
    String UniStr="";
    try{
      byte[] tempByte=GBStr.getBytes("gb2312");
      UniStr=new String(tempByte,"ISO8859_1");
    }
    catch(Exception ex){
      return "";
    }
    return UniStr.trim();
  }

  public boolean CheckNum(String sNum){
    if(!cNULL(sNum))return false;
    Pattern pattern=null;
    Matcher matcher=null;
    pattern=Pattern.compile("\\d{1,3}");
    matcher=pattern.matcher(sNum);
    return matcher.matches();
  }
  public boolean CheckMail(String sMail){
    if(!cNULL(sMail))return false;
    Pattern pattern=null;
    Matcher matcher=null;
    pattern=Pattern.compile("\\p{Alpha}+\\w+@\\w+\\.\\p{Alpha}{2,4}");
    matcher=pattern.matcher(sMail);
    return matcher.matches();
  }
  public boolean CheckPass(String sPass){
    if(!cNULL(sPass))return false;
    Pattern pattern=null;
    Matcher matcher=null;
    if(sPass.indexOf("\\")!=-1||sPass.indexOf("/")!=-1)return false;
    pattern=Pattern.compile("\\s|<|>|\'|\"|[^\\x00-\\x80]");
    //不能空格 ' " / \ < > 中文
    matcher=pattern.matcher(sPass);
    while(matcher.find()){
      return false;
    }
    return true;
  }
  public boolean CheckStr(String sStr){
    if(!cNULL(sStr))return false;
    Pattern pattern=null;
    Matcher matcher=null;
    pattern=Pattern.compile("[[\u4E00-\u9FA5]*(\\w*)]*");
    //只能是中文,数字,英文,下划线(不包括全部标点符号)
    matcher=pattern.matcher(sStr);
    return matcher.matches();
  }

  public boolean CheckLen(String sStr,int sStrLen){
    if(!cNULL(sStr))return false;
    int StrLen=0;
    Pattern pattern=null;
    Matcher matcher=null;
    pattern=Pattern.compile("[\u4E00-\u9FA5]");
    for(int i=0;i<sStr.length();i++){
      matcher=pattern.matcher(String.valueOf(sStr.charAt(i)));
      if(matcher.matches()){
        StrLen+=2;
      }else StrLen++;
    }
    if(StrLen<=sStrLen){
      return true;
    }else return false;
  }

  public String SubStrs(String sStr,int sStart,int sStrLen){//中文=2长度
    if(!cNULL(sStr))return sStr;
    if(sStart>=sStrLen)return sStr;
    if(CheckLen(sStr,sStart))return sStr;//如果开始位置大于字符串长度,返回
    if(CheckLen(sStr,sStrLen))return sStr;//如果截取长度大于字符串长度,返回

    Pattern pattern=null;
    Matcher matcher=null;
    pattern=Pattern.compile("[\u4E00-\u9FA5]");
    for(int i=0;i<sStr.length();i++){
      matcher=pattern.matcher(String.valueOf(sStr.charAt(i)));
      if(matcher.matches()){
        if(sStart>=i&&sStart>0)sStart-=1;//如果字符在开始位置前面,出现中文则开始位置 -1
        if(i>=sStart&&i<=sStart+sStrLen&&sStrLen>0)sStrLen-=1;//如果字符位置在开始位置与结束位置之间,出现中文则长度 -1
      }
    }
    return sStr.substring(sStart,sStart+sStrLen);
  }

  public boolean CheckShow(String sStr){
    if(!cNULL(sStr))return false;
    sStr=GBtoUni(sStr);
    Pattern pattern=null;
    Matcher matcher=null;
    int i=0;
    pattern=Pattern.compile("(\\[IMG=(.[^\\]]*)\\])");
    matcher=pattern.matcher(sStr);
    while(matcher.find()){
      i++;
    }
    if(i==0||i==1){return true;}else return false;
  }

  public String replaceShow(String sStr,String id){
    if(!cNULL(sStr))return "";
    sStr=GBtoUni(sStr);
    Pattern pattern=null;
    Matcher matcher=null;

    pattern=Pattern.compile("(\\[B\\])(.*?)(\\[/B\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<b>$2</b>");

    pattern=Pattern.compile("(\\[I\\])(.*?)(\\[/I\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<i>$2</i>");

    pattern=Pattern.compile("(\\[U\\])(.*?)(\\[/U\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<u>$2</u>");

    pattern=Pattern.compile("(\\[IMG=(.[^\\]]*)\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<br><img src='$2' name='img_show"+id+"' onmousewheel='return img_zoom(event,this)' onload='javascript:if(this.width>300)this.width=300;if(this.height>300)this.height=300;'><br>");

    return UnitoGB(sStr);
  }

  public String replaceUBB(String sStr){
    if(!cNULL(sStr))return "";
    sStr=GBtoUni(sStr);
    Pattern pattern=null;
    Matcher matcher=null;
    pattern=Pattern.compile("(\\[em([0-4]?{1})([0-9]{1})\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<img src='images/icon/em$2$3\\.gif'>");

    pattern=Pattern.compile("(\\[B\\])(.*?)(\\[/B\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<b>$2</b>");

    pattern=Pattern.compile("(\\[I\\])(.*?)(\\[/I\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<i>$2</i>");

    pattern=Pattern.compile("(\\[U\\])(.*?)(\\[/U\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<u>$2</u>");

    pattern=Pattern.compile("(\\[font=(.[^\\]]*)\\])(.*?)(\\[/font\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<font face=$2>$3</font>");

    pattern=Pattern.compile("(\\[size=(\\d{1})\\])(.*?)(\\[/size\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<font size=$2>$3</font>");

    pattern=Pattern.compile("(\\[URL=(.[^\\]]*)\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<br><a href='$2' target='_blank'>$2</a><br>");

    pattern=Pattern.compile("(\\[EMAIL=(.[^\\]]*)\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<a href='mailto:$2'>$2</a>");

    pattern=Pattern.compile("(\\[IMG=(.[^\\]]*)\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<br><a href='$2' target='_blank'><img src='$2' alt='"+GBtoUni("点击在新窗口中浏览图片")+"' onmousewheel='return img_zoom(event,this)' onload='javascript:if(this.width>body.clientHeight)this.width=body.clientHeight'></a><br>");

    pattern=Pattern.compile("(\\[FLASH=(.[^,]*),(\\d{1,3}),(\\d{1,3})\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<br><embed width='$3' height='$4' src='$2' wmode='transparent'><br>");

    pattern=Pattern.compile("(\\[RM=(.[^,]*),(0),(\\d{1,3}),(\\d{1,3})\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<br><object classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' width='$4' height='$5'><param name='controls' value='StatusBar,ControlPanel'><param name='console' value='Clip1'><param name='autostart' value='true'><param name='src' value='$2'><embed src='$2' type='audio/x-pn-realaudio-plugin' console='Clip1' controls='ControlPanel,StatusBar' width='$4' height='$5' autostart='true'></embed></object><br>");

    pattern=Pattern.compile("(\\[RM=(.[^,]*),(1),(\\d{1,3}),(\\d{1,3})\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<br><object classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' width='$4' height='$5'><param name='controls' value='imagewindow,StatusBar,ControlPanel'><param name='console' value='Clip1'><param name='autostart' value='true'><param name='src' value='$2'><embed src='$2' type='audio/x-pn-realaudio-plugin' console='Clip1' controls='imagewindow,ControlPanel,StatusBar' width='$4' height='$5' autostart='true'></embed></object><br>");

    pattern=Pattern.compile("(\\[MP=(.[^,]*),(\\d{1,3}),(\\d{1,3})\\])");
    matcher=pattern.matcher(sStr);
    sStr=matcher.replaceAll("<br><object classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' width='$3' height='$4'><param name='ShowStatusBar' value='-1'><param name='Filename' value='$2'><embed src='$2' type='audio/x-pn-realaudio-plugin' console='Clip1' controls='imagewindow,ControlPanel,StatusBar' width='$3' height='$4' autostart='true'></embed></object><br>");

    return UnitoGB(sStr);
  }

  public boolean cNULL(String sStr){
    try{
        if (sStr == null || "".equals(sStr.trim()))return false;
        return true;
    }catch (Exception e){
        return false;
    }
  }

  public String ShowPage(int page_count,int page_now,String page_url){
    int k=0;
    String page_tmp="";
    if(page_now>1){
      page_tmp="<font face='webdings'><a href='"+page_url+"=1' title='首页'>9</a></font>&nbsp;<font face='webdings'><a href='"+page_url+"="+(page_now-1)+"' title='上页'>7</a></font>&nbsp;";
    }else{
      page_tmp="<font face='webdings'>9</font>&nbsp;";
      page_tmp=page_tmp+"<font face='webdings'>7</font>&nbsp;";
    }

    if(page_count==1){
      page_tmp=page_tmp+"[&nbsp;";
      page_tmp=page_tmp+"1&nbsp;";
      page_tmp=page_tmp+"]&nbsp;";
    }
    if(page_count<=10&&page_count>1){
      page_tmp=page_tmp+"[&nbsp;";
      for(k=1;k<=page_count;k++){
        if(k!=page_now)page_tmp=page_tmp+"<a href='"+page_url+"="+k+"'>"+k+"</a>&nbsp;";
        else page_tmp=page_tmp+k+"&nbsp;";
      }
      page_tmp=page_tmp+"]&nbsp;";
    }
    if(page_count>10){
      if(page_now<=5){
        page_tmp=page_tmp+"[&nbsp;";
        for(k=1;k<=10;k++){
          if(k!=page_now)page_tmp=page_tmp+"<a href='"+page_url+"="+k+"'>"+k+"</a>&nbsp;";
          else page_tmp=page_tmp+k+"&nbsp;";
        }
        page_tmp=page_tmp+"...]&nbsp;";
      }else if(page_now>=page_count-5){
        page_tmp=page_tmp+"[...&nbsp;";
        for(k=page_count-10+1;k<=page_count;k++){
          if(k!=page_now)page_tmp=page_tmp+"<a href='"+page_url+"="+k+"'>"+k+"</a>&nbsp;";
          else page_tmp=page_tmp+k+"&nbsp;";
        }
        page_tmp=page_tmp+"]&nbsp;";
      }else{
        page_tmp=page_tmp+"[...&nbsp;";
        for(k=page_now-5+1;k<=page_now+5;k++){
          if(k!=page_now)page_tmp=page_tmp+"<a href='"+page_url+"="+k+"'>"+k+"</a>&nbsp;";
          else page_tmp=page_tmp+k+"&nbsp;";
        }
        page_tmp=page_tmp+"...]&nbsp;";
      }
    }
    if(page_now<page_count){
      page_tmp=page_tmp+"<font face='webdings'><a href='"+page_url+"="+(page_now+1)+"' title='下页'>8</a></font>";
      page_tmp=page_tmp+"&nbsp;<font face='webdings'><a href='"+page_url+"="+page_count+"' title='未页'>:</a></font>";
    }else{
      page_tmp=page_tmp+"<font face='webdings'>8</font>&nbsp;";
      page_tmp=page_tmp+"<font face='webdings'>:</font>";
    }
    return page_tmp;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -