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

📄 codefilter.java

📁 基于struct结构的jsp
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.ntsky.util;

import org.apache.log4j.Logger ;

/**
 * <p>Title: Ntsky OpenSource BBS</p>
 * <p>Description: 字符转换</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: WWW.FM880.COM</p>
 * @author 姚君林
 * @version 1.0
 */
public class CodeFilter {

    private final static Logger logger = Logger.getLogger(CodeFilter.class);
    /**
     * 特殊字符转HTML
     */
    public static String htmlEncode(String str) {
        if (str == null) {
            str = "";
            return str;
        }
        str = str.trim(); //去掉首尾空格
        //str = replace(str, "<", "&#60;");
        //str = replace(str, ">", "&#62;");
        str = replace(str, "\t", "    ");
        str = replace(str, "\r\n", "\n");
        str = replace(str, "\n", "<br>");
        str = replace(str, "  ", " &nbsp;&nbsp;");
        //str = replace(str, "'", "&#39;");
        //str = replace(str, "\\", "/");
        str = replace(str, "\"","&#34;");
        return str;
    }

    public static String strEncode(String str) {
        if (str == null) {
            str = "";
            return str;
        }
        str = str.trim(); //去掉首尾空格
        str = replace(str, "<", "&#60;");
        str = replace(str, ">", "&#62;");
        str = replace(str, "\t", "    ");
        str = replace(str, "\r\n", "\n");
        str = replace(str, "\n", "<br>");
        str = replace(str, "  ", " &nbsp;&nbsp;");
        str = replace(str, "'", "&#39;");
        str = replace(str, "\\", "/");
        str = replace(str, "\"","&#34;");
        return str;
    }


    /**
     * UBB系列代码转换
     */
    public static String ubbEncode(String str){
        str = replaceB(str);
        str = replaceI(str);
        str = replaceU(str);
        str = replaceCen(str);
        str = replaceF(str);
        str = replaceS(str);
        str = replaceC(str);
        str = replaceURL(str);
        str = replaceIMG(str);
        str = replaceEMAIL(str);
        str = replaceFLASH(str);
        str = replaceRM(str);
        str = replaceMP(str);
        str = replaceQQ(str);
        str = replaceFILE(str);
        logger.info("成功转换");
        return str;
    }

    //[B]加粗
    private static String replaceB(String str){
        str = replace(str, "[B]", "<b>");
        str = replace(str, "[/B]", "</b>");
        logger.info("成功转换加粗");
        return str;
    }
    //[I]斜线
    private static String replaceI(String str){
        str = replace(str, "[I]", "<i>");
        str = replace(str, "[/I]", "</i>");
        logger.info("成功转换斜线");
        return str;
    }
    //[I]下划线
    private static String replaceU(String str){
        str = replace(str, "[U]", "<u>");
        str = replace(str, "[/U]", "</u>");
        logger.info("成功转换下划线");
        return str;
    }
    //[center]居中
    private static String replaceCen(String str){
        str = replace(str, "[CENTER]", "<div align=center>");
        str = replace(str, "[/CENTER]", "</div>");
        logger.info("成功转换居中");
        return str;
    }
    //[FONT]字体
    private static String replaceF(String str){
        int strHead = str.indexOf("[FONT=");
        int strTail = str.indexOf("[/FONT]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+7;
            String temp = str.substring(strHead+6,strTail);
            int strHeadRight = temp.indexOf("]");
            String tempStr = temp.substring(0,strHeadRight);
            String text = temp.substring(strHeadRight+1,temp.length());
            str = str.substring(0,strHead)+"<font face=\""+tempStr+"\">"+text+"</font>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[FONT=",strTailLength);
            strTail = str.indexOf("[/FONT]",strTailLength);
        }
        logger.info("成功转换字体");
        return str;
    }
    //[SIZE]文字大小
    private static String replaceS(String str){
        int strHead = str.indexOf("[SIZE=");
        int strTail = str.indexOf("[/SIZE]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+7;
            String temp = str.substring(strHead+6,strTail);
            int strHeadRight = temp.indexOf("]");
            String tempStr = temp.substring(0,strHeadRight);
            String text = temp.substring(strHeadRight+1,temp.length());
            str = str.substring(0,strHead)+"<font size=\""+tempStr+"\">"+text+"</font>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[SIZE=",strTailLength);
            strTail = str.indexOf("[/SIZE]",strTailLength);
        }
        logger.info("成功转换文字大小");
        return str;
    }
    //[COLOR]文字大小
    private static String replaceC(String str){
        int strHead = str.indexOf("[COLOR=");
        int strTail = str.indexOf("[/COLOR]");
        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);
            String text = temp.substring(strHeadRight+1,temp.length());
            str = str.substring(0,strHead)+"<font color=\""+tempStr+"\">"+text+"</font>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[COLOR=",strTailLength);
            strTail = str.indexOf("[/COLOR]",strTailLength);
        }
        logger.info("成功转换文字大小");
        return str;
    }
    //[URL]链接
    private static String replaceURL(String str){
        int strHead = str.indexOf("[URL=");
        int strTail = str.indexOf("[/URL]");
        while((strHead!=-1) && (strTail!=-1)){
            int strTailLength = strTail+6;
            String temp = str.substring(strHead+5,strTail);
            int strHeadRight = temp.indexOf("]");
            String tempStr = temp.substring(0,strHeadRight);
            String text = temp.substring(strHeadRight+1,temp.length());
            str = str.substring(0,strHead)+"<a href=\""+tempStr+"\">"+text+"</a>"+str.substring(strTailLength,str.length());
            strHead = str.indexOf("[URL=",strTailLength);
            strTail = str.indexOf("[/URL]",strTailLength);
        }
        logger.info("成功转换URL大小");
        return str;
    }
    //[IMG]图片
    private static String replaceIMG(String str){

⌨️ 快捷键说明

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