PHP实时统计中文字数和区别


Posted in PHP onFebruary 28, 2019

1、PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数去测试统计字符串的长度,看看把中文算成几个字节:

echo strlen("你好ABC") . "";
# 输出 9
echo mb_strlen("你好ABC", 'UTF-8') . "";
# 输出 5
echo mb_strwidth("你好ABC") . "";
#输出 7

从上面的测试,我们可以看出:strlen 把中文字符算成 3 个字节,mb_strlen 不管

</script>中文还是英文,都算 1 个字节,而 mb_strwidth 则把中文算成 2 个字节,所以 mb_strwidth 才是我们想要的:中文 2 个字节,英文 1 个字节。

同样截取字符串也建议使用 mb_strimwidth,也是按照 中文 2 个字节,英文 1 个字节 方式计算之后的,并且如果字数超过截取的要求,这个函数还可以在最后面自动添加‘…'。

mb_strimwidth($post_excerpt,0,240,'...','utf-8');

注意,最后添加‘utf-8'编码参数,可以避免中文截取乱码的问题。

2、

<script type="text/javascript">
  var len = $('#Form-field-Course-description').text().length;
  $('#Form-field-Course-description-group').append('<div id="txtNum" style="position: absolute;right: -50px;bottom: 18px;"></div>');
  var len=$('#Form-field-Course-description').val().length;
  $('#txtNum').text(len+"/500");
  $('#Form-field-Course-description').bind('input propertychange', function() {
     var val=$(this).val();
     var len=val.length;
     if(len>500){
      len=500;
      $(this).val(val.substring(0,500));
     }
    $('#txtNum').text(len+"/500");
  });
</script>

根据Octobercms后台update获取textarea长度,通过input,propertychange事件监听事件

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
PHP语法速查表
Jan 02 PHP
可定制的PHP缩略图生成程式(需要GD库支持)
Mar 06 PHP
php+ajax实时输入自动搜索匹配的方法
Dec 26 PHP
WordPress中获取指定分类及其子分类下的文章数目
Dec 31 PHP
thinkphp3.2点击刷新生成验证码
Feb 16 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
Sep 23 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
Yii全局函数用法示例
Jan 22 PHP
thinkPHP5.0框架应用请求生命周期分析
Mar 25 PHP
PHP实现活动人选抽奖功能
Apr 19 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 #PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 #PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 #PHP
asp函数split()对应php函数explode()
Feb 27 #PHP
PHP中引用类型和值类型功能与用法示例
Feb 26 #PHP
PHP5.6读写excel表格文件操作示例
Feb 26 #PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 #PHP
You might like
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
php实现的MySQL通用查询程序
2007/03/11 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
Python 3中print函数的使用方法总结
2017/08/08 Python
Python语言的变量认识及操作方法
2018/02/11 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python 标准差计算的实现(std)
2019/07/29 Python
python返回数组的索引实例
2019/11/28 Python
python Shapely使用指南详解
2020/02/18 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
超市端午节活动方案
2014/01/23 职场文书
授权委托书格式模板
2014/04/03 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
免职通知
2015/04/23 职场文书
婚庆答谢词大全
2015/09/29 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
如何用threejs实现实时多边形折射
2021/05/07 Javascript
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL