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 相关文章推荐
论坛头像随机变换代码
Oct 09 PHP
PHP中HTTP方式下的Gzip压缩传输方法举偶
Feb 15 PHP
PHP下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
修改PHP的memory_limit限制的方法分享
Feb 21 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
php实现监控varnish缓存服务器的状态
Dec 30 PHP
php获取系统变量方法小结
May 29 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
实例介绍PHP删除数组中的重复元素
Mar 03 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
PHP处理Oracle的CLOB实例
2014/11/03 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
setTimeout时间设置为0详细解析
2018/03/13 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
python妹子图简单爬虫实例
2015/07/07 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python实现人工蜂群算法
2020/09/18 Python
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
尼克松手表官网:Nixon手表
2019/03/17 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
公司企业表扬信
2014/01/11 职场文书
行政助理工作职责范本
2014/03/04 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
影视广告专业求职信
2014/09/02 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
Mysql开启外网访问
2022/05/15 MySQL
Python find()、rfind()方法及作用
2022/12/24 Python