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

📄 htmlencoder.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
字号:
/*
 * HTMLEncoder.java
 *
 * Created on 2002/03/12, 19:08
 */

package jp.co.intra_mart.framework.base.web.util;

/**
 * 暥帤楍傪HTML宍幃偱昞帵偡傞偨傔偺曄姺傪峴偆儐乕僥傿儕僥傿僋儔僗偱偡丅
 *
 * @author INTRAMART
 * @version 1.0
 */
public class HTMLEncoder {

    /**
     * 僉儍僾僔儑儞傪曄姺偟傑偡丅
     * HTML拞偱摿庩側埖偄傪庴偗傞暥帤乮&gt;,&lt;摍乯傪曄姺偟傑偡丅<BR>
     * 偙偙偱偼埲壓偺曄姺偑峴傢傟傑偡丅<BR>
     * <TABLE border="1">
     *    <TR>
     *        <TH>曄姺慜</TH>
     *        <TH>曄姺屻</TH>
     *    </TR>
     *    <TR>
     *        <TD>&gt;</TD>
     *        <TD>&amp;gt;</TD>
     *    </TR>
     *    <TR>
     *        <TD>&lt;</TD>
     *        <TD>&amp;lt;</TD>
     *    </TR>
     *    <TR>
     *        <TD>&amp;</TD>
     *        <TD>&amp;amp;</TD>
     *    </TR>
     *    <TR>
     *        <TD>&quot;</TD>
     *        <TD>&amp;quot;</TD>
     *    </TR>
     *    <TR>
     *        <TD>(敿妏嬻敀)</TD>
     *        <TD>&amp;nbsp;</TD>
     *    </TR>
     *    <TR>
     *        <TD>(夵峴)(*)</TD>
     *        <TD>&lt;BR&gt;</TD>
     *    </TR>
     * </TABLE><BR>
     * (*)曄姺儖乕儖偼埲壓偺偲偍傝偱偡丅<BR>
     * &quot;\n&quot; -&gt; &quot;\n&quot;<BR>
     * &quot;\r&quot; -&gt; &quot;\n&quot;<BR>
     * 偨偩偟丄&quot;\r&quot;偲&quot;\n&quot;偑楢懕偟偰懕偔売強偼&quot;\r\n&quot; -&gt; &quot;\n&quot;偲側傝傑偡丅
     *
     * @param caption 曄姺慜偺僉儍僾僔儑儞
     * @return 曄姺屻偺僉儍僾僔儑儞
     */
    public static String encodeCaption(String caption) {
        StringBuffer srcBuffer = null;
        String src = null;
        StringBuffer resultBuffer = null;
        String result = null;
        char token = 0;
        int length = 0;
        int beginIndex = 0;
        int endIndex = 0;

        if (caption != null) {
            // \r\n -> \n 偵曄姺
            srcBuffer = new StringBuffer();
            beginIndex = 0;
            endIndex = 0;
            length = caption.length();
            while (beginIndex < length && (endIndex = caption.indexOf("\r\n", beginIndex)) != -1) {
                if (beginIndex < endIndex) {
                    srcBuffer.append(caption.substring(beginIndex, endIndex));
                }
                srcBuffer.append("\n");
                beginIndex = endIndex + 2;
            }
            if (beginIndex < length) {
                srcBuffer.append(caption.substring(beginIndex));
            }
            src = new String(srcBuffer);

            // \r -> \n 偵曄姺
            srcBuffer = new StringBuffer();
            beginIndex = 0;
            endIndex = 0;
            length = src.length();
            while (beginIndex < length && (endIndex = src.indexOf("\r", beginIndex)) != -1) {
                if (beginIndex < endIndex) {
                    srcBuffer.append(src.substring(beginIndex, endIndex));
                }
                srcBuffer.append("\n");
                beginIndex = endIndex + 1;
            }
            if (beginIndex < length) {
                srcBuffer.append(src.substring(beginIndex));
            }
            src = new String(srcBuffer);

            // 曄姺
            resultBuffer = new StringBuffer();
            length = src.length();
            for (int i = 0; i < length; i++) {
                token = src.charAt(i);
                if (token == '<') {
                    resultBuffer.append("&lt;"); 
                } else if (token == '>') {
                    resultBuffer.append("&gt;"); 
                } else if (token == '&') {
                    resultBuffer.append("&amp;"); 
                } else if (token == '\"') {
                    resultBuffer.append("&quot;"); 
                } else if (token == ' ') {
                    resultBuffer.append("&nbsp;"); 
                } else if (token == '\n') {
                    resultBuffer.append("<BR>"); 
                } else {
                    resultBuffer.append(token); 
                }
            }
            result = new String(resultBuffer);
        }

        return result;
    }

    /**
     * &lt;TEXTAREA&gt;僞僌傑偨偼value懏惈偵擖傞暥帤楍傪曄姺偟傑偡丅
     * 偙偙偱偼埲壓偺曄姺偑峴傢傟傑偡丅<BR>
     * <TABLE border="1">
     *    <TR>
     *        <TH>曄姺慜</TH>
     *        <TH>曄姺屻</TH>
     *    </TR>
     *    <TR>
     *        <TD>&gt;</TD>
     *        <TD>&amp;gt;</TD>
     *    </TR>
     *    <TR>
     *        <TD>&lt;</TD>
     *        <TD>&amp;lt;</TD>
     *    </TR>
     *    <TR>
     *        <TD>&amp;</TD>
     *        <TD>&amp;amp;</TD>
     *    </TR>
     *    <TR>
     *        <TD>&quot;</TD>
     *        <TD>&amp;quot;</TD>
     *    </TR>
     * </TABLE>
     *
     * @param value 曄姺慜偺抣
     * @return 曄姺屻偺抣
     */
    public static String encodeValue(String value) {
        StringBuffer resultBuffer = null;
        String result = null;
        int length = 0;
        char token = 0;

        if (value != null) {
            // 曄姺
            resultBuffer = new StringBuffer();
            length = value.length();
            for (int i = 0; i < length; i++) {
                token = value.charAt(i);
                if (token == '<') {
                    resultBuffer.append("&lt;"); 
                } else if (token == '>') {
                    resultBuffer.append("&gt;"); 
                } else if (token == '&') {
                    resultBuffer.append("&amp;"); 
                } else if (token == '\"') {
                    resultBuffer.append("&quot;"); 
                } else {
                    resultBuffer.append(token); 
                }
            }
            result = new String(resultBuffer);
        }

        return result;
    }
}

⌨️ 快捷键说明

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