eWebEditor无法预赋值问题解决方案

本文介绍如何将数据库中的HTML内容正确地加载到eWebEditor编辑器中,避免因特殊字符导致的问题。通过使用htmlEncode函数对内容进行转义处理,确保了内容能够正常显示。

 

        刚开始用eWebEditor,不知道怎么把从数据库中取出的内容放到编辑器里,网上查了一下,发现用setHTML函数,试了一下,发现在当内容中存在逗号时,setHTML就出错了。

 

后来,查了一下官方文档,才知道不必那么麻烦,但是需要htmlEncode一下。具体如下:

 

htmlEncode()函数:

 

此函数的功能与其它环境的以下函数相似:

 

(ASP/ASP.net): Server.HTMLEncode()

(PHP): htmlspecialchars()

此函数在修改内容时经常用到。当您想把已经保存在数据库中的内容取出,并置于编辑器中,实现内容的修改时,您需要先对HTML格式编码,然后再指定<textarea>的初始值。

138

在线 HTML 编辑器 - HTML 在线编辑好帮手

函数代码如下:

<%!

static String htmlEncode(int i){

if (i=='&') return "&amp;";

else if (i=='<') return "&lt;";

else if (i=='>') return "&gt;";

else if (i=='"') return "&quot;";

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>

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值