当前位置: 代码迷 >> J2EE >> 处理特殊符号的工具类
  详细解决方案

处理特殊符号的工具类

热度:674   发布时间:2013-11-10 21:21:37.0
/** 
 * DealingCharacter.java 
 * Description:  
 * @author www.daimami.com 
 * @version 2.0 
 * Jun 27, 2008 
 */
public class DealingCharacter { 
  
    /** 
     * Description: 转译特殊符号标签 
     * @param value 需要处理的字符串 
     * @return  
     */
     public static String filter(String value) 
        { 
            if(value == null || value.length() == 0) 
                return value; 
            StringBuffer result = null; 
            String filtered = null; 
            for(int i = 0; i < value.length(); i++) 
            { 
                filtered = null; 
                switch(value.charAt(i)) 
                { 
                case 60: // '<' 
                    filtered = "&lt;"; 
                    break; 
  
                case 62: // '>' 
                    filtered = "&gt;"; 
                    break; 
  
                case 38: // '&' 
                    filtered = "&amp;"; 
                    break; 
  
                case 34: // '"' 
                    filtered = "&quot;"; 
                    break; 
  
                case 39: // '\'' 
                    filtered = "&#39;"; 
                    break; 
                } 
                if(result == null) 
                { 
                    if(filtered != null) 
                    { 
                        result = new StringBuffer(value.length() + 50); 
                        if(i > 0) 
                            result.append(value.substring(0, i)); 
                        result.append(filtered); 
                    } 
                } else
                if(filtered == null) 
                    result.append(value.charAt(i)); 
                else
                    result.append(filtered); 
            } 
  
            return result != null ? result.toString() : value; 
        } 
  
     public static void main(String[] args) { 
         System.out.println(DealingCharacter.filter("<HTML>www.daimami.com</HTML>")); 
    } 
}