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字符转义相关函数小结(php下的转义字符串)
Apr 12 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
解析php中call_user_func_array的作用
Jun 07 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
PHP正则验证Email的方法
Jun 15 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
windows7配置Nginx+php+mysql的详细教程
Sep 04 PHP
PHP精确计算功能示例
Nov 29 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
在Laravel5中正确设置文件权限的方法
May 22 PHP
在PHP中实现使用Guzzle执行POST和GET请求
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
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
年度评优评先方案
2014/06/03 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
幸福来敲门观后感
2015/06/04 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL