3.11.1.1 htmlEncode
此函数的功能与其它环境的以下函数相似:
(ASP/ASP.net): Server.HTMLEncode()
(PHP): htmlspecialchars()
此函数在修改内容时经常用到。当您想把已经保存在数据库中的内容取出,并置于编辑器中,实现内容的修改时,您需要先对HTML格式编码,然后再指定<textarea>的初始值。
函数代码如下:
<%! static String htmlEncode(int i){ if (i=='&') return "&"; else if (i=='<') return "<"; else if (i=='>') return ">"; else if (i=='"') return """; else return ""+(char)i; }
static String htmlEncode(String st){ StringBuffer buf = new StringBuffer(); for (int i = 0;i<st.length();i++){ buf.append(htmlEncode(st.charAt(i))); } return buf.toString(); } %> |
使用例子:
注意下面蓝色部分,表求给编辑器赋值。变量str指从数据库中取出的HTML格式的初始值。
<textarea name="content1" style="display:none"><%=htmlEncode(str)%></textarea> <IFRAME ID="eWebEditor1" src="../ewebeditor.htm?id=content1&style=coolblue" frameborder="0" scrolling="no" width="550" height="350"></IFRAME> |