Encode HTML : Document HTML « Development Class « Java






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();
      }

}

   
    
    
  








Related examples in the same category

1.HTMLDocument: Element Iterator Example
2.HTMLEditorKit DemoHTMLEditorKit Demo
3.SimpleAttributeSet ExampleSimpleAttributeSet Example
4.Text Tab SampleText Tab Sample
5.Styled DocumentStyled Document
6.Html utils for working with tag's names and attributes.
7.Escape HTML
8.Escape HTML
9.Replace all the occurences of HTML escape strings with the respective characters.
10.HTML Rewriter
11.HTML Encode
12.XMLWriter is a generic class that provides common behavior to writers of a tagged language such as XML, WordML and HTML.
13.Escape html entities.
14.Html Encoder
15.Remove Comment