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

📄 codefilter.java

📁 基于struct结构的jsp
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        int strHead = str.indexOf("[IMG]");
        int strTail = str.indexOf("[/IMG]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+6;
            String temp = str.substring(strHead+5,strTail);
            String text = temp.substring(strHead+5,temp.length());
            str = str.substring(0,strHead)+"<img src=\""+text+"\"/>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[IMG]",strTailLength);
            strTail = str.indexOf("[/IMG]",strTailLength);
        }
        logger.info("成功转换IMG大小");
        return str;
    }

    //[EMAIL]email地址
    private static String replaceEMAIL(String str){
        int strHead = str.indexOf("[EMAIL]");
        int strTail = str.indexOf("[/EMAIL]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+8;
            String temp = str.substring(strHead+7,strTail);
            String text = temp.substring(strHead+5,temp.length());
            str = str.substring(0,strHead)+"<a href=\"mailto:"+text+"\">text</a>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[EMAIL]",strTailLength);
            strTail = str.indexOf("[/EMAIL]",strTailLength);
        }
        logger.info("成功转换EMAIL大小");
        return str;
    }

    //[FLASH]flash
    private static String replaceFLASH(String str){
        int strHead = str.indexOf("[FLASH=");
        int strTail = str.indexOf("[/FLASH]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+8;
            String temp = str.substring(strHead+7,strTail);
            int strHeadRight = temp.indexOf("]");
            String tempStr = temp.substring(0,strHeadRight);
            int pos = temp.indexOf(",");
            String width = tempStr.substring(0,pos);
            String height = tempStr.substring(pos+1,strHeadRight);
            //fontText设置字体的中间文字
            String text = temp.substring(strHeadRight+1,temp.length());
            str = str.substring(0,strHead)+"<embed src=\""+text+"\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width="+width+" height="+height+"></embed>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[FLASH=",strTailLength);
            strTail = str.indexOf("[/FLASH]",strTailLength);
        }
        logger.info("成功转换FLUSH大小");
        return str;
    }

    //[RM]RM
    private static String replaceRM(String str){
        int strHead = str.indexOf("[RM=");
        int strTail = str.indexOf("[/RM]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+5;
            String temp = str.substring(strHead+4,strTail);
            int strHeadRight = temp.indexOf("]");
            String tempStr = temp.substring(0,strHeadRight);
            int pos = temp.indexOf(",");
            String width = tempStr.substring(0,pos);
            String height = tempStr.substring(pos+1,strHeadRight);
            String text = temp.substring(strHeadRight+1,temp.length());
            str = str.substring(0,strHead)+"<OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height="+height+" width="+width+" id=RVOCX name=rvstatus><param name='_ExtentX' value='8149'><param name='_ExtentY' value='794'><param name='AUTOSTART' value='1'><param name='SHUFFLE' value='0'><param name='PREFETCH' value='0'><param name='NOLABELS' value='0'><param name='SRC' value='"+text+"'><embed SRC='"+text+"' type='audio/x-pn-realaudio-plugin' width='315' height='59' controls='ControlPanel,StatusBar' console='cons' name='rvstatus'><param name='CONTROLS' value='Imagewindow,ControlPanel,StatusBar'><param name='CONSOLE' value='cons'><param name='LOOP' value='0'><param name='NUMLOOP' value='0'><param name='CENTER' value='0'><param name='MAINTAINASPECT' value='0'><param name='BACKGROUNDCOLOR' value='#000000'></embed></OBJECT>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[RM=",strTailLength);
            strTail = str.indexOf("[/RM]",strTailLength);
        }
        logger.info("成功转换RM");
        return str;
    }

    //[MP]MP
    private static String replaceMP(String str){
        int strHead = str.indexOf("[MP=");
        int strTail = str.indexOf("[/MP]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+5;
            String temp = str.substring(strHead+4,strTail);
            int strHeadRight = temp.indexOf("]");
            String tempStr = temp.substring(0,strHeadRight);
            int pos = temp.indexOf(",");
            String width = tempStr.substring(0,pos);
            String height = tempStr.substring(pos+1,strHeadRight);
            String text = temp.substring(strHeadRight+1,temp.length());
            String str1 = "<object classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701' height='"+height+"' id='nstv' style='left: 0px; top: 0px; border: 7px none rgb(192,192,192)' type='application/x-oleobject' width='"+width+"' standby='Loading Microsoft Windows Media Player components...'>";
            String str2 = "<param name='AudioStream' value='-1'><param name='AutoSize' value='0'><param name='AutoStart' value='-1'><param name='AnimationAtStart' value='0'><param name='AllowScan' value='-1'><param name='AllowChangeDisplaySize' value='-1'><param name='AutoRewind' value='0'><param name='Balance' value='0'><param name='BufferingTime' value='5'><param name='ClickToPlay' value='-1'><param name='CursorType' value='0'><param name='CurrentPosition' value='-1'><param name='CurrentMarker' value='0'><param name='DisplayBackColor' value='0'><param name='DisplayForeColor' value='16777215'><param name='DisplayMode' value='0'><param name='DisplaySize' value='4'><param name='Enabled' value='-1'><param name='EnableContextMenu' value='0'><param name='EnablePositionControls' value='-1'><param name='EnableFullScreenControls' value='0'><param name='EnableTracker' value='-1'>";
            String str3 = "<param name='Filename' value='"+text+"'><param name='InvokeURLs' value='-1'><param name='Language' value='-1'><param name='Mute' value='0'><param name='PlayCount' value='1'><param name='PreviewMode' value='0'><param name='Rate' value='1'><param name='SelectionStart' value='-1'><param name='SelectionEnd' value='-1'><param name='SendOpenStateChangeEvents' value='-1'><param name='SendWarningEvents' value='-1'><param name='SendErrorEvents' value='-1'><param name='SendKeyboardEvents' value='0'><param name='SendMouseClickEvents' value='0'><param name='SendMouseMoveEvents' value='0'><param name='SendPlayStateChangeEvents' value='-1'><param name='ShowCaptioning' value='0'><param name='ShowControls' value='1'><param name='ShowAudioControls' value='-1'><param name='ShowDisplay' value='0'>";
            String str4 = "<param name='ShowGotoBar' value='0'><param name='ShowPositionControls' value='0'><param name='ShowStatusBar' value='0'><param name='ShowTracker' value='-1'><param name='TransparentAtStart' value='-1'><param name='VideoBorderWidth' value='0'><param name='VideoBorderColor' value='0'><param name='VideoBorder3D' value='0'><param name='Volume' value='-60'><param name='WindowlessVideo' value='0'></object>";
            str = str.substring(0,strHead)+str1+str2+str3+str4+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[MP=",strTailLength);
            strTail = str.indexOf("[/MP]",strTailLength);
        }
        logger.info("成功转换mp");
        return str;
    }
    //QQ表情图标
    private static String replaceQQ(String str){
        int strHead = str.indexOf("[qq");
        int strTail = str.indexOf("]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+1;
            String temp = str.substring(strHead+3,strTail);
            str = str.substring(0,strHead)+"<img src=\"../images/qqface/"+temp+".gif\"/>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[EMAIL]",strTailLength);
            strTail = str.indexOf("[/EMAIL]",strTailLength);
        }
        logger.info("成功转换EMAIL大小");
        return str;
    }

    //文件链接图标
    private static String replaceFILE(String str){
        int strHead = str.indexOf("[FILE]");
        int strTail = str.indexOf("[/FILE]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+7;
            String temp = str.substring(strHead+6,strTail);
            String text = temp.substring(strHead+6,temp.length());
            str = str.substring(0,strHead)+"<a href=\".."+text+"\">"+text+"</a>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[FILE]",strTailLength);
            strTail = str.indexOf("[/FILE]",strTailLength);
        }
        logger.info("成功转换EMAIL大小");
        return str;
    }

    /**
     * 反向转换
     */
    public static String unEncode(String s) {
        s = replace(s, "<br>", "\n");
        s = replace(s, "&nbsp;", " ");
        //s = replace(s, "",);
        return s;
    }

    /**
     * 字符串转换方法
     * @param source String
     * @param oldString String
     * @param newString String
     * @return String
     */
    public static String replace(String source, String oldString,
                                 String newString) {

        StringBuffer output = new StringBuffer();

        int lengthOfsource = source.length(); //源字符串长度
        int lengthOfold = oldString.length(); //老字符串长度

        int posStart = 0; //开始搜索位置
        int pos; //搜索到的老字符串的位置

        //source.indexOf(oldString,posStart)检索某子串在字符串postStart以后第一次出现的位置,如果未找到就返回一个-1。
        while ( (pos = source.indexOf(oldString, posStart)) >= 0) { //得到字符串的位置(eg:如果有<br>就执行,没有就跳出,不要处理。)

            //将以posStart起始以pos-1结束之间的内容拷贝到另一个字符串中。因为posStar从0开始的。
            output.append(source.substring(posStart, pos)); //append方法将文本添加到当前StringBuffer对象内容的结尾。
            output.append(newString); //替换成新字符串

            posStart = pos + lengthOfold; //位置也变为找到了之后的位置,pos为得到第一次出现字符的位置,lengthold为字符的长度
        }

        if (posStart < lengthOfsource) {
            //source.substring(posStart)以lengthOfsource开始的字符串拷贝到列一个字符串中
            output.append(source.substring(posStart));
        }
        //这个方法将其内容转换成一个可以被用于输出的字符串对象。它允许操作对应的文本用于输出或数据存储。
        return output.toString();
    }
}

⌨️ 快捷键说明

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