解决方案 »

  1.   

    你的意思是特殊字符的过滤吧!我们页面上显示的特殊字符是可以通过转义字符来实现的,比如\n等于换行,又例如,HTML的&lt; &gt;&amp;"&copy;对别是<,>,&,",&copy;的转义字符。那么如果你把标签的一对尖括号<> 用特殊字符代替,它便失去了HTML标签的功能,而变成普普通通的字符,之所以你在主题中打出来的<textarea></textarea>在论坛上没有实现标签的功能,是因为这个论坛在取出数据库的原数据后,用字符过滤的方法把原数据中的特殊符号都进过了转义。至于过滤的方法,我自己在用的是toHTML(String)为方法,String就是你数据库里的原数据,详细实现,自己想吧。
      

  2.   

    类似 &lt; &gt;&  的或者过滤特殊字符,正则等。 
      

  3.   


    public static String filter(String message) {        if (message == null)
                return (null);        char content[] = new char[message.length()];
            message.getChars(0, message.length(), content, 0);
            StringBuilder result = new StringBuilder(content.length + 50);
            for (int i = 0; i < content.length; i++) {
                switch (content[i]) {
                case '<':
                    result.append("&lt;");
                    break;
                case '>':
                    result.append("&gt;");
                    break;
                case '&':
                    result.append("&amp;");
                    break;
                case '"':
                    result.append("&quot;");
                    break;
                default:
                    result.append(content[i]);
                }
            }
            return (result.toString());
    }