Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 311|回复: 0

[jsp学习]java实现UBB代码

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-1 17:22:02 | 显示全部楼层 |阅读模式
    /*
    ******* java实现UBB代码 *************
    *****************************************
    * 源文件名: UbbCode.java
    *
    * 作者:梦想年华
    * Email:fanwsp@126.com
    * HomePage:http://wsp.hniuca.net
    * QQ:122142023
    * CopyRight(c)2005-2006 by DreamTime
    *
    */
    package dreamtime.guestbook; //指定类所在的包
    import java.util.regex.Matcher; //导入所需要的类
    import java.util.regex.Pattern;

       
      
    public class UbbCode //类定义
    {  private String source; //待转化的HTML代码字符串
    private String ubbTags[]; //UBB标记数组
    private String htmlTags[]; //HTML标记数组  //初始化,分别为UBB标记数组和HTML标记数组赋值
    public UbbCode()
    {
    byte byte0 = 74;
    source = new String();
    ubbTags = new String[byte0];
    htmlTags = new String[byte0];
    ubbTags[0] = "";
    htmlTags[0] = "<b>";
    ubbTags[1] = "
    ";
    htmlTags[1] = "</b>";
    ubbTags[2] = "";
    htmlTags[2] = "<em>";
    ubbTags[3] = "
    ";
    htmlTags[3] = "</em>";
    ubbTags[4] = "
    ";
    htmlTags[4] = "<div style="border-style:dashed;background-color:#CCCCCC;border-width:thin;
                             border-color:#999999"><br><em>";
    ubbTags[5] = "
    ";
    htmlTags[5] = "</em><br><br></div>";
    ubbTags[6] = "";
    htmlTags[6] = "</font>";
    ubbTags[7] = "";
    htmlTags[7] = "<font style="font-size:6px">";
    ubbTags[8] = "";
    htmlTags[8] = "<font style="font-size:8px">";
    ubbTags[9] = "";
    htmlTags[9] = "<font style="font-size:10px">";
    ubbTags[10] = "";
    htmlTags[10] = "<font style="font-size:12px">";
    ubbTags[11] = "";
    htmlTags[11] = "<font style="font-size:14px">";
    ubbTags[12] = "";
    htmlTags[12] = "<font style="font-size:18px">";
    ubbTags[13] = "";
    htmlTags[13] = "<font style="font-size:24px">";
    ubbTags[14] = "";
    htmlTags[14] = "<font style="font-size:36px">";

    //字体
    ubbTags[15] = "
    ";
    htmlTags[15] = "</font>";
    ubbTags[16] = "";
    htmlTags[16] = "<font face="Arial">";
    ubbTags[17] = "";
    htmlTags[17] = "<font face="Arial Black">";
    ubbTags[18] = "";
    htmlTags[18] = "<font face="Verdana">";
    ubbTags[19] = "";
    htmlTags[19] = "<font face="Times New Roman">";
    ubbTags[20] = "";
    htmlTags[20] = "<font face="Garamond">";
    ubbTags[21] = "";
    htmlTags[21] = "<font face="Courier New">";
    ubbTags[22] = "";
    htmlTags[22] = "<font face="Webdings">";
    ubbTags[23] = "";
    htmlTags[23] = "<font face="Wingdings">";
    ubbTags[24] = "";
    htmlTags[24] = "<font face="隶书">";
    ubbTags[25] = "";
    htmlTags[25] = "<font face="幼圆">";
    ubbTags[26] = "";
    htmlTags[26] = "<font face="方正舒体">";
    ubbTags[27] = "";
    htmlTags[27] = "<font face="方正姚体">";
    ubbTags[28] = "";
    htmlTags[28] = "<font face="仿宋_GB2312">";
    ubbTags[29] = "";
    htmlTags[29] = "<font face="黑体">";
    ubbTags[30] = "";
    htmlTags[30] = "<font face="华文彩云">";
    ubbTags[31] = "";
    htmlTags[31] = "<font face="华文细黑">";
    ubbTags[32] = "";
    htmlTags[32] = "<font face="华文新魏">";
    ubbTags[33] = "";
    htmlTags[33] = "<font face="华文中宋">";
    ubbTags[34] = "";
    htmlTags[34] = "<font face="华文行楷">";
    ubbTags[35] = "";
    htmlTags[35] = "<font face="楷体_GB2312">";
    ubbTags[36] = "";
    htmlTags[36] = "<font face="隶书">";
    ubbTags[37] = "";
    htmlTags[37] = "<font face="华文楷体">";
    ubbTags[38] = "";
    htmlTags[38] = "<font face="宋体">";
    ubbTags[39] = "[font=新宋体";
    htmlTags[39] = "<font face="新宋体">";
    ubbTags[40] = "[font=幼圆";
    htmlTags[40] = "<font face="幼圆">";

    //字体颜色
    ubbTags[41] = "[red]";
    htmlTags[41] = "<font color="red">";
    ubbTags[42] = "[/red]";
    htmlTags[42] = "</font>";
    ubbTags[43] = "[blue]";
    htmlTags[43] = "<font color="blue">";
    ubbTags[44] = "[/blue]";
    htmlTags[44] = "</font>";
    ubbTags[45] = "[yellow]";
    htmlTags[45] = "<font color="yellow">";
    ubbTags[46] = "[/yellow]";
    htmlTags[46] = "</font>";
    ubbTags[47] = "[green]";
    htmlTags[47] = "<font color="green">";
    ubbTags[48] = "[/green]";
    htmlTags[48] = "</font>";

    ubbTags[49] = "[f]";
    htmlTags[49] = "<marquee width="400" scrolldelay="30" scrollamount="1" onmouseover="this.stop()" onmouseout="this.start()">";

    //标题
    ubbTags[50] = "[h1]";
    htmlTags[50] = "<h1>";
    ubbTags[51] = "[/h1]";
    htmlTags[51] = "</h1>";
    ubbTags[52] = "[h2]";
    htmlTags[52] = "<h2>";
    ubbTags[53] = "[/h2]";
    htmlTags[53] = "</h2>";
    ubbTags[54] = "[h3]";
    htmlTags[54] = "<h3>";
    ubbTags[55] = "[/h3]";
    htmlTags[55] = "</h3>";
    ubbTags[56] = "[h4]";
    htmlTags[56] = "<h4>";
    ubbTags[57] = "[/h4]";
    htmlTags[57] = "</h4>";
    ubbTags[58] = "[h5]";
    htmlTags[58] = "<h5>";
    ubbTags[59] = "[/h5]";
    htmlTags[59] = "</h5>";
    ubbTags[60] = "[h6]";
    htmlTags[60] = "<h6>";
    ubbTags[61] = "[/h6]";
    htmlTags[61] = "</h6>";
    ubbTags[62] = "
    ";
    htmlTags[62] = "<hr>";
    ubbTags[63] = "[img]";
    htmlTags[63] = "<br><img src="";
    ubbTags[64] = "[/img]";
    htmlTags[64] = ""><br>";
    ubbTags[65] = "[center]";
    htmlTags[65] = "<div align="center">";
    ubbTags[66] = "[/center]";
    htmlTags[66] = "</div>";

    ubbTags[67] = "[/f]";
    htmlTags[67] = "</marquee>";
    ubbTags[68] = "[left]";
    htmlTags[68] = "<div align="left">";
    ubbTags[69] = "[/left]";
    htmlTags[69] = "</div>";
    ubbTags[70] = "[right]";
    htmlTags[70] = "<div align="right">";
    ubbTags[71] = "[/right]";
    htmlTags[71] = "</div>";
    ubbTags[72] = "";
    htmlTags[72] = "<u>";
    ubbTags[73] = "
    ";
    htmlTags[73] = "</u>";

    }  private String replace(String s, String s1, String s2) {
       StringBuffer stringbuffer = new StringBuffer();
       for(int i = 0; i < s1.length(); i++) {
       char c = s1.charAt(i);
       switch(c) {
        case 91: // "["
         stringbuffer.append("\[");
         break;     case 93: // "]"
          stringbuffer.append("\]");
          break;     default:
          stringbuffer.append(c);
          break;
        }
    }  Pattern pattern = Pattern.compile(stringbuffer.toString());
    Matcher matcher = pattern.matcher(s);
    StringBuffer stringbuffer1 = new StringBuffer();
    for(boolean flag = matcher.find(); flag; flag = matcher.find())
    matcher.appendReplacement(stringbuffer1, s2);  return matcher.appendTail(stringbuffer1).toString();
    }  private String replaceNormalUBBCode(String s)
    {
    String s1 = new String(s);
    for(int i = 0; i < ubbTags.length; i++)
    s1 = replace(s1, ubbTags, htmlTags);  return s1;
    }  private String replaceURL(String s)
    {
    StringBuffer stringbuffer = new StringBuffer(s);
    String s1 = new String();
    int i = s.indexOf("");
    int j = s.indexOf("
    ");
    if(i != -1 && j != -1 && i < j)
    {
    String s2 = s.substring(i + 5, j);
    String s3 = "<a href="" + s2 + "">" + s2 + "</a>";
    stringbuffer.replace(i, j + 6, s3);
    }
    return stringbuffer.toString();
    }  private String replaceEmail(String s)
    {
    StringBuffer stringbuffer = new StringBuffer(s);
    String s1 = new String();
    int i = s.indexOf("");
    int j = s.indexOf("
    ");
    if(i != -1 && j != -1 && i < j)
    {
    String s2 = s.substring(i + 7, j);
    String s3 = "<a href="mailto:" + s2 + "">" + s2 + "</a>";
    stringbuffer.replace(i, j + 8, s3);
    }
    return stringbuffer.toString();
    }  public void setSource(String s)
    {
    source = s;
    }  public String getResult()
    {
    return source;
    }  public void run()
    {
    for(source = replaceNormalUBBCode(source); source.indexOf("") != -1 && source.indexOf("") != -1;
       source = replaceURL(source));
    for(; source.indexOf("") != -1 && source.indexOf("") != -1; source = replaceEmail(source));
    }
    }

      
      
       
       

         
       

         
       
      



    源码下载:http://file.javaxxz.com/2014/10/1/172202359.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-3 19:17 , Processed in 0.392411 second(s), 49 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表