encodestring.java

来自「一个论坛程序」· Java 代码 · 共 461 行 · 第 1/2 页

JAVA
461
字号
        }
    }

    public String xmlEncoder(String src)
    {
        if(src == null || src.equals(""))
        {
            return "";
        } else
        {
            String xmlencode = src;
            xmlencode = replaces(xmlencode, "&", "&");
            xmlencode = replaces(xmlencode, "<", "&lt;");
            xmlencode = replaces(xmlencode, ">", "&gt;");
            xmlencode = replaces(xmlencode, "\"", "&quot;");
            xmlencode = replaces(xmlencode, "'", "&acute;");
            return xmlencode;
        }
    }

    public String ubbEncoder(String str)
    {
        if(str == null || str.equals(""))
            return "";
        str = str.replace("$", "(@#%)");
        str = ubbPattern(str, "\\", "\\\\");
        List list = matcherList(str, "\\[(.*?)\\](.*?)\\[/(.*?)\\]");
        for(int i = 0; i < list.size(); i++)
        {
            String s = TypeChange.objOfString(list.get(i));
            str = str.replace(s, s.replace("\\", "\\\\"));
        }

        str = ubbPattern(str, "\\[center\\](.*?)\\[/center\\]", "<center>$1</center>");
        str = ubbPattern(str, "\\[b\\](.*?)\\[/b\\]", "<strong>$1</strong>");
        str = ubbPattern(str, "\\[i\\](.*?)\\[/i\\]", "<emg>$1</em>");
        str = ubbPattern(str, "\\[color=(.*?)\\](.*?)\\[/color\\]", "<span style=color:$1>$2</span>");
        str = ubbPattern(str, "\\[GamVanFace_(\\d*)\\]", "<img src=\"GVimgs/GamVanFace/$1.gif\">");
        str = ubbPattern(str, "\\[img\\](.*?)\\[/img\\]", "<a href=\"$1\" target=\"_blank\"><img  onload=\"javascript:if(this.width > screen.width-350){this.width = screen.width-350};\"  onerror=\"javascript:this.src='/club/GVimgs/imgErr.gif'\" src=\"$1\" border=\"0\" /></a>");
        str = ubbPattern(str, "\\[url\\](.*?)\\[/url\\]", "<a href=\"$1\" target=\"_blank\">$1</a>");
        str = ubbPattern(str, "\\[url=(.*?)\\](.*?)\\[/url\\]", "<a href=\"$1\" target=\"_blank\">$2</a>");
        str = ubbPattern(str, "\\[size=*([\\d]*)\\](.*?)\\[/size\\]", "<span style=\"font-size: $1px;\">$2</span>");
        str = ubbPattern(str, "\\[quote\\](.*?)\\[/quote\\]", "<table align=center bgcolor=\"#BAD5EF\" width=\"98%\" border=0 cellpadding=4 cellspacing=1><tr><td bgcolor=\"#E6EEF7\" height=\"25\"  style=\"font-size: 12px\"><strong>\u4EE5\u4E0B\u5185\u5BB9\u4E3A\u5F15\u7528\u5185\u5BB9</strong>\uFF1A</td></tr><tr><td bgcolor=\"#ffffff\" style=\"font-size: 12px\">$1</td></tr></table>");
        str = ubbPattern(str, "\\[quote=(.*?)\\](.*?)\\[/quote\\]", "<table align=center bgcolor=\"#BAD5EF\" width=\"98%\" border=0 cellpadding=4 cellspacing=1><tr><td bgcolor=\"#E6EEF7\" height=\"25\"  style=\"font-size: 12px\"><strong>$1 \u8BF4\uFF1A</strong></td></tr><tr><td bgcolor=\"#ffffff\" style=\"font-size: 12px\">$2</td></tr></table>");
        StringBuffer sb = new StringBuffer("");
        sb.append("<object codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0");
        sb.append(" height=400 width=500 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>");
        sb.append("<param name=\"movie\" value=\"$1\">");
        sb.append("<param name=\"menu\" value=\"false\">");
        sb.append("<embed src=\"$1\" menu=false quality=high ");
        sb.append(" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"");
        sb.append(" type=\"application/x-shockwave-flash\" width=\"500\" height=\"400\"></embed></object>");
        str = ubbPattern(str, "\\[flash\\](.*?)\\[/flash\\]", "<a href=\"$1\" TARGET=_blank>[\u5168\u5C4F\u6B23\u8D4F]</a><br>" + sb.toString());
        sb.delete(0, sb.length());
        sb.append("<object codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0");
        sb.append(" height=$2 width=$1 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>");
        sb.append("<param name=\"movie\" value=\"$3\">");
        sb.append("<param name=\"menu\" value=\"false\">");
        sb.append("<embed src=\"$3\" menu=false quality=high ");
        sb.append(" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"");
        sb.append(" type=\"application/x-shockwave-flash\" width=\"$1\" height=\"$2\"></embed></object>");
        str = ubbPattern(str, "\\[flash=*([\\d]*),*([\\d]*)\\](.*?)\\[/flash\\]", "<a href=\"$3\" TARGET=_blank>[\u5168\u5C4F\u6B23\u8D4F]</a><br>" + sb.toString());
        sb.delete(0, sb.length());
        str = ubbPattern(str, "\\[real\\](.*?)\\[/real\\]", "<OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=\"450\" height=\"350\"><PARAM NAME=SRC VALUE=$1><PARAM NAME=CONSOLE VALUE=Clip1><PARAM NAME=CONTROLS VALUE=imagewindow><PARAM NAME=AUTOSTART VALUE=true></OBJECT><br><OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=35 id=video2 width=450><PARAM NAME=SRC VALUE=$1><PARAM NAME=AUTOSTART VALUE=-1><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=Clip1></OBJECT>");
        str = ubbPattern(str, "\\[real=*([\\d]*),*([\\d]*)\\](.*?)\\[/real\\]", "<OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=\"$1\" height=\"$2\"><PARAM NAME=SRC VALUE=$3><PARAM NAME=CONSOLE VALUE=Clip1><PARAM NAME=CONTROLS VALUE=imagewindow><PARAM NAME=AUTOSTART VALUE=true></OBJECT><br><OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=35 id=video2 width=450><PARAM NAME=SRC VALUE=$3><PARAM NAME=AUTOSTART VALUE=-1><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=Clip1></OBJECT>");
        str = ubbPattern(str, "\\[video\\](.*?)\\[/video\\]", "<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=\"450\" height=\"300\"><param name=\"loop\" value=\"true\"><param name=ShowStatusBar value=-1><param name=Filename value=\"$1\"><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=\"mp\" src=\"$1\" width=\"450\" height=\"300\"></embed></object>");
        str = ubbPattern(str, "\\[video=*([\\d]*),*([\\d]*)\\](.*?)\\[/video\\]", "<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=\"$1\" height=\"$2\"><param name=\"loop\" value=\"true\"><param name=ShowStatusBar value=-1><param name=Filename value=\"$3\"><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=\"mp\" src=\"$3\" width=\"$1\" height=\"$2\"></embed></object>");
        if(ubbImg)
            str = ubbPattern(str, "((http|https|ftp|rtsp|mms):(//|\\\\)([\\w\\.\\:/\\?\\=%&_-]+(gif|jpg|jpeg|bmp|png)))", "<a href=\"$1\" target=\"_blank\"><img onload=\"javascript:if(this.width > screen.width-350){this.width = screen.width-350};\"  onerror=\"javascript:this.src='/club/GVimgs/imgErr.gif'\" src=\"$1\" border=\"0\"></a>");
        else
        if(ubbUrl)
            str = ubbPattern(str, "((http|https|ftp|rtsp|mms):(//|\\\\)([\\w\\.\\:/\\?\\=%&_-]+))", "<a target=\"_blank\" href=\"$1\">$1</a>");
        str = htmlRun(str);
        str = str.replace("(@#%)", "$");
        return str;
    }

    public static String matcherCodeColor(String str, String cp)
    {
        if(str == null || str.equals(""))
            return "";
        String txt = new String();
        if(str != null && !str.equals(""))
        {
            txt = str;
            Pattern p = Pattern.compile(cp, 2);
            Matcher m = p.matcher(txt);
            StringBuffer sb = new StringBuffer();
            boolean result = m.find();
            String temp = "";
            for(; result; result = m.find())
            {
                temp = m.group();
                temp = codeColor(temp);
                m.appendReplacement(sb, temp);
            }

            m.appendTail(sb);
            txt = String.valueOf(sb);
        } else
        {
            txt = "";
        }
        return txt;
    }

    public static String ubbPattern(String str, String cp, String mc)
    {
        if(str == null || str.equals(""))
            return "";
        String txt = new String();
        txt = str;
        if(str != null && !str.equals(""))
        {
            txt = str;
            try
            {
                Pattern p = Pattern.compile(cp, 2);
                Matcher m = p.matcher(txt);
                txt = m.replaceAll(mc);
            }
            catch(Exception exception) { }
        } else
        {
            txt = "";
        }
        return txt;
    }

    public static String matcherStr(String str, String cp, String s)
    {
        if(str == null || str.equals(""))
            return "";
        String txt = new String();
        txt = str;
        if(str != null && !str.equals(""))
        {
            txt = str;
            Pattern p = Pattern.compile(cp, 2);
            Matcher m = p.matcher(txt);
            StringBuffer sb = new StringBuffer();
            int i = 0;
            for(boolean result = m.find(); result; result = m.find())
            {
                i++;
                sb.append(m.group());
                sb.append(s);
            }

            txt = String.valueOf(sb);
        } else
        {
            txt = "";
        }
        return txt;
    }

    public static String matcherStr(String str, String cp, String s, int loop)
    {
        if(str == null || str.equals(""))
            return "";
        String txt = new String();
        txt = str;
        if(str != null && !str.equals(""))
        {
            txt = str;
            Pattern p = Pattern.compile(cp, 2);
            Matcher m = p.matcher(txt);
            StringBuffer sb = new StringBuffer();
            int i = 0;
            boolean result = m.find();
            while(result) 
            {
                i++;
                if(loop == i)
                {
                    sb.append(m.group());
                    sb.append(s);
                } else
                if(loop == 0)
                {
                    sb.append(m.group());
                    sb.append(s);
                    result = m.find();
                } else
                {
                    result = m.find();
                }
            }
            txt = String.valueOf(sb);
        } else
        {
            txt = "";
        }
        return txt;
    }

    public static List matcherList(String str, String cp)
    {
        if(str == null || str.equals(""))
            return null;
        List list = new ArrayList();
        String txt = new String();
        txt = str;
        if(str != null && !str.equals(""))
        {
            txt = str;
            Pattern p = Pattern.compile(cp, 2);
            Matcher m = p.matcher(txt);
            for(boolean result = m.find(); result; result = m.find())
                list.add(m.group());

        }
        return list;
    }

    public void setUbbImg(boolean ubbImg)
    {
        this.ubbImg = ubbImg;
    }

    public void setUbbUrl(boolean ubbUrl)
    {
        this.ubbUrl = ubbUrl;
    }

    private boolean ubbUrl;
    private boolean ubbImg;
}

⌨️ 快捷键说明

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