Mega Code Archive

 
Categories / Java / Development Class
 

Encode HTML

/*  *  SSHTools - Java SSH2 API  *  *  Copyright (C) 2002-2003 Lee David Painter and Contributors.  *  *  Contributions made by:  *  *  Brett Smith  *  Richard Pernavas  *  Erwin Bolwidt  *  *  This program is free software; you can redistribute it and/or  *  modify it under the terms of the GNU General Public License  *  as published by the Free Software Foundation; either version 2  *  of the License, or (at your option) any later version.  *  *  This program is distributed in the hope that it will be useful,  *  but WITHOUT ANY WARRANTY; without even the implied warranty of  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  *  GNU General Public License for more details.  *  *  You should have received a copy of the GNU General Public License  *  along with this program; if not, write to the Free Software  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.  */ import java.awt.Color; public class Util {     /**   * This method will replace '&' with "&amp;", '"' with "&quot;", '<' with "&lt;" and '>' with "&gt;".   *   * @param html html to encode   * @return encoded html   */       public static String encodeHTML(String html) {           // Does java have a method of doing this?           StringBuffer buf = new StringBuffer();           char ch;           for (int i = 0; i < html.length(); i++) {               ch = html.charAt(i);               switch (ch) {               case '&':                   //  May be already encoded                   if (((i + 5) < html.length()) &&                           html.substring(i + 1, i + 5).equals("amp;")) {                       buf.append(ch);                   } else {                       buf.append("&amp;");                   }                   break;               case '"':                   buf.append("&quot;");                   break;               case '<':                   buf.append("&lt;");                   break;               case '>':                   buf.append("&gt;");                   break;               default:                   buf.append(ch);               }           }           return buf.toString();       } }