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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
php快速url重写更新版[需php 5.30以上]
Apr 25 PHP
PHP高级对象构建 工厂模式的使用
Feb 05 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
php页面消耗内存过大的处理办法
Mar 18 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
Zend Studio使用技巧两则
Apr 01 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
PHP实现文件上传后台处理脚本
Mar 04 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 htmlspecialchars加强版
2010/02/16 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
Python Flask-web表单使用详解
2017/11/18 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
便捷提取python导入包的属性方法
2018/10/15 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
幼儿教师思想汇报
2014/01/10 职场文书
社会实践感言
2014/01/25 职场文书
创业计划书之服装
2019/10/07 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang