Java HTML Escape htmlEscape(String s)

Here you can find the source of htmlEscape(String s)

Description

Bare-bones version of getDisplayableHtmlString() above.

License

Open Source License

Parameter

Parameter Description
s original string

Return

String with '<', '>', and '&' replaced with HTML escape sequence, while leaving in all other chars.

Declaration

public static String htmlEscape(String s) 

Method Source Code

//package com.java2s;
/*/*from  www .j a v  a2  s .  com*/
* Copyright (c) 2000 - 2005 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  
*
*/

public class Main {
    public final static String NULL = "null";
    /** A table of hex digits */
    private static final char[] hexDigit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D',
            'E', 'F' };

    /**
     * Bare-bones version of getDisplayableHtmlString() above.
     * Prepare a string for a HTML-aware text display.
     * Useful for error strings generated by parsers
     *
     * @param s original string
     * @return  String with '<', '>', and '&' replaced with HTML escape
     *          sequence, while leaving in all other chars.
     */
    public static String htmlEscape(String s) {
        if (s == null)
            return null;
        int len = s.length();
        StringBuffer sb = new StringBuffer(len);
        for (int i = 0; i < len; i++) {
            char c = s.charAt(i);
            switch (c) {
            case '<':
                sb.append("&lt;");
                break;
            case '>':
                sb.append("&gt;");
                break;
            case '&':
                sb.append("&amp;");
                break;
            default:
                sb.append(c);
                break;
            }
        }
        return sb.toString();
    }

    /**
     * Returns the string representation of a byte array.
     * @param bytes the byte array
     * @return the string representation of a byte array.
     */
    public static String toString(byte[] bytes) {
        return toString(bytes, "[", ",", "]");
    }

    /**
     * Returns the string representation of a byte array.
     * @param bytes the byte array
     * @param beg string to begin the string with
     * @param sep string to separate bytes
     * @param end string to terminate the string with
     * @return the string representation of a byte array.
     */
    public static String toString(byte[] bytes, String beg, String sep, String end) {
        return toString(null, bytes, beg, sep, end).toString();
    }

    /**
     * Returns the string representation of a byte array.
     * @param sb the StringBuffer
     * @param bytes the byte array
     * @param begin string to begin the string with
     * @param sep string to separate bytes from each other
     * @param end string to terminate the string with
     * @return the string representation of a byte array.
     */
    public static StringBuffer toString(StringBuffer sb, byte[] bytes, String begin, String sep, String end) {
        if (bytes != null) {
            if (sb == null) {
                // allocate string buffer of exact size to avoid reallocation
                int len = bytes.length;
                int n1 = ((begin == null) ? 0 : begin.length());
                int n2 = ((sep == null) ? 0 : sep.length());
                int n3 = ((end == null) ? 0 : end.length());
                sb = new StringBuffer(2 * len + n2 * (len - 1) + n1 + n3);
            }
            if (begin != null)
                sb.append(begin);
            for (int i = 0; i < bytes.length; i++) {
                if (i > 0 && sep != null)
                    sb.append(sep);
                toHexString(sb, bytes[i]);
            }
            if (end != null)
                sb.append(end);
        } else {
            if (sb == null) {
                sb = new StringBuffer(NULL);
            } else {
                sb.append(NULL);
            }
        }
        return sb;
    }

    /**
     * Converts array of objects into a comma separated string enclosed
     * into curly brackets.
     */
    public static String toString(Object[] array) {
        return toString(null, array).toString();
    }

    /**
     * Converts array of objects into a comma separated string enclosed
     * into curly brackets and appends it to a StringBuffer.
     *
     * @param sb the destination buffer
     * @param array array of objects
     */
    public static StringBuffer toString(StringBuffer sb, Object[] array) {
        return toString(sb, array, "{", ",", "}");
    }

    /**
     * Converts array of objects into a string enclosed into curly brackets.
     *
     * @param array array of objects
     * @param sep string to separate bytes from each other
     */
    public static String toString(Object[] array, String sep) {
        return toString(array, "{", sep, "}");
    }

    /**
     * Converts array of objects into a comma separated string enclosed
     * into curly brackets.
     *
     * @param array array of objects
     * @param begin string to begin the string with
     * @param end string to terminate the string with
     */
    public static String toString(Object[] array, String begin, String end) {
        return toString(array, begin, ",", end);
    }

    /**
     * Converts array of objects into a string.
     *
     * @param array array of objects
     * @param begin string to begin the string with
     * @param sep string to separate bytes from each other
     * @param end string to terminate the string with
     */
    public static String toString(Object[] array, String begin, String sep, String end) {
        return toString(null, array, begin, sep, end).toString();
    }

    /**
     * Converts array of objects into a string and appends it to
     * a StringBuffer
     *
     * @param array array of objects
     * @param begin string to begin the string with
     * @param sep string to separate bytes from each other
     * @param end string to terminate the string with
     */
    public static StringBuffer toString(StringBuffer sb, Object[] array, String begin, String sep, String end) {
        if (array != null) {
            if (sb == null)
                sb = new StringBuffer(array.length * 5 + 2); // guess
            if (begin != null)
                sb.append(begin);
            for (int i = 0; i < array.length; i++) {
                if (i > 0 && sep != null)
                    sb.append(sep);
                if (array[i] == null) {
                    sb.append(NULL);
                } else {
                    sb.append(array[i].toString());
                }
            }
            if (end != null)
                sb.append(end);
        } else {
            if (sb == null) {
                sb = new StringBuffer(NULL);
            } else {
                sb.append(NULL);
            }
        }
        return sb;
    }

    /**
     * Returns the string representation of a byte.
     * @param b the byte
     * @return the string representation of a byte.
     */
    public static String toHexString(byte b) {
        return toHexString(null, b).toString();
    }

    /**
     * Returns the string representation of a byte array.
     * @param b the byte array
     * @return the string representation of a byte array.
     */
    public static String toHexString(byte[] b) {
        return toString(b, null, " ", null);
    }

    /**
     * Appends the string representation of a byte to the string buffer.
     * @param sb the StringBuffer
     * @param b the byte
     * @return the string buffer
     */
    public static StringBuffer toHexString(StringBuffer sb, byte b) {
        if (sb == null)
            sb = new StringBuffer(2);
        sb.append(toHex(b >> 4)); // upper nibble
        sb.append(toHex(b)); // lower nibble
        return sb;
    }

    /**
     * Converts a nibble to a hex character
     * @param   nibble   the nibble to convert.
     * @return the hex character
     */
    private static char toHex(int nibble) {
        return hexDigit[(nibble & 0xF)];
    }
}

Related

  1. htmlEscape(String input)
  2. htmlEscape(String input)
  3. htmlEscape(String input)
  4. htmlEscape(String input)
  5. htmlEscape(String nonHTMLsrc)
  6. htmlEscape(String S)
  7. htmlEscape(String s)
  8. htmlescape(String s)
  9. htmlEscape(String source)