博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kindeditor添加字节计算方法,解决中文字节数问题
阅读量:5955 次
发布时间:2019-06-19

本文共 1242 字,大约阅读时间需要 4 分钟。

hot3.png

前情提要:项目中使用kindeditor做富文本编辑器,但是中文在数据库中占用3个字节,英文是1个字节,而p标签换行标签也各自占用对应的代码长度字节.

kindeditor版本 @version 4.1.2 (2012-07-21)

页面使用以下代码计数

js:

afterChange : function() {K('.word_count').html(this.count());}

 html:

您当前输入了 0 个文字。

问题:由于kindeditor自带的计数器是按照字符来计算的,所以呢,如果按照它提供的字符数提交到数据库

所以Google之后.找到一个过滤字符Unicode来计数的方式,略加修改,添加到kindeditor.js的count(位于5111行)方法后面,取名countCode.  

countCode : function() {	var self = this,	total = 0,        i,        str = _removeBookmarkTag(_removeTempTag(self.html())),        len;	for(i = 0, len = str.length; i < len; i++){            charCode = str.charCodeAt(i);            if(charCode <= 0x007f) {                total += 1;            }else if(charCode <= 0x07ff){                total += 2;            }else if(charCode <= 0xffff){                total += 3;            }else{                total += 4;            }        }	return total;	},

相应的页面要调用的js也要修改.

afterChange : function() {K('.word_count').html(this.countCode());}

 事后添加:

修改kindeditor-min.js

搜索"count:"在其后添加

countCode:function(){var a=0,i,b=V(ab(this.html())),c;for(i=0,c=b.length;i
<=0x007f){a+=1;}else if(d<=0x07ff){a+=2;}else if(d<=0xffff){a+=3;}else{a+=4;}}return a;},

这样你就可以再页面使用kindeditor-min.js啦.

 

 

 

转载于:https://my.oschina.net/hsh3900/blog/82017

你可能感兴趣的文章
35个Java代码性能优化总结
查看>>
Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍
查看>>
DFI、DPI技术
查看>>
hibernate 执行存储过程 方法
查看>>
RapidIOIP核的验证方法研究_王玉欢
查看>>
崩溃日志的实例
查看>>
base64是啥原理
查看>>
字符串中去除连续相同的字符保留一个
查看>>
实战 Windows Server 2012 群集共享卷
查看>>
CSS 元素超出部分滚动, 并隐藏滚动条
查看>>
React中那些纠结你的地方(一)
查看>>
Docker入门安装教程
查看>>
PhoneGap极光推送 cordova消息推送
查看>>
Subarray Sum Equals K
查看>>
preventDefault, stopPropagation, stopImmediatePropagation 三者的区别
查看>>
算法题解:找出包含给定字符的最小窗口(枚举的一般方法)
查看>>
超级账本HyperLedger初体验
查看>>
完美解决html中select的option不能隐藏的问题。
查看>>
推荐5大开源工具,用于开发Kubernetes项目
查看>>
制定2015年的移动开发策略
查看>>