|  | | insert HTML block dynamically |  
| 
 |  
   
  
/* 
 *  Licensed to the Apache Software Foundation (ASF) under one 
 *  or more contributor license agreements.  See the NOTICE file 
 *  distributed with this work for additional information 
 *  regarding copyright ownership.  The ASF licenses this file 
 *  to you under the Apache License, Version 2.0 (the 
 *  "License"); you may not use this file except in compliance 
 *  with the License.  You may obtain a copy of the License at 
 *   
 *    http://www.apache.org/licenses/LICENSE-2.0 
 *   
 *  Unless required by applicable law or agreed to in writing, 
 *  software distributed under the License is distributed on an 
 *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
 *  KIND, either express or implied.  See the License for the 
 *  specific language governing permissions and limitations 
 *  under the License.  
 *   
 */ 
 
 
 
/** 
 * Various string manipulation methods that are more efficient then chaining 
 * string operations: all is done in the same buffer without creating a bunch of 
 * string objects. 
 *  
 * @author <a href="mailto:[email protected]">Dungeon Project</a> 
 */ 
public class Main { 
 
 
  /** 
   * This method is used to insert HTML block dynamically 
   *  
   * @param source 
   *            the HTML code to be processes 
   * @param replaceNl 
   *            if true '\n' will be replaced by <br> 
   * @param replaceTag 
   *            if true '<' will be replaced by < and '>' will be replaced 
   *            by > 
   * @param replaceQuote 
   *            if true '\"' will be replaced by " 
   * @return the formated html block 
   */ 
  public static final String formatHtml( String source, boolean replaceNl, boolean replaceTag, 
      boolean replaceQuote ) 
  { 
      StringBuffer buf = new StringBuffer(); 
      int len = source.length(); 
 
      for ( int ii = 0; ii < len; ii++ ) 
      { 
          char ch = source.charAt( ii ); 
           
          switch ( ch ) 
          { 
              case '\"': 
                  if ( replaceQuote ) 
                  { 
                      buf.append( """ ); 
                  } 
                  else 
                  { 
                      buf.append( ch ); 
                  } 
                  break; 
 
              case '<': 
                  if ( replaceTag ) 
                  { 
                      buf.append( "<" ); 
                  } 
                  else 
                  { 
                      buf.append( ch ); 
                  } 
                  break; 
 
              case '>': 
                  if ( replaceTag ) 
                  { 
                      buf.append( ">" ); 
                  } 
                  else 
                  { 
                      buf.append( ch ); 
                  } 
                  break; 
 
              case '\n': 
                  if ( replaceNl ) 
                  { 
                      if ( replaceTag ) 
                      { 
                          buf.append( "<br>" ); 
                      } 
                      else 
                      { 
                          buf.append( "<br>" ); 
                      } 
                  } 
                  else 
                  { 
                      buf.append( ch ); 
                  } 
                  break; 
 
              case '\r': 
                  break; 
 
              case '&': 
                  buf.append( "&" ); 
                  break; 
 
              default: 
                  buf.append( ch ); 
                  break; 
          } 
      } 
 
      return buf.toString(); 
  } 
 
 
} 
 
    
   |     
 
 |  
 |  
 |  
| Related examples in the same category |   
 |