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发送邮件的类
Mar 24 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
php数组一对一替换实现代码
Aug 31 PHP
php获取参数的几种方法总结
Feb 18 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 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效率,提高php性能的一些方法
2011/03/24 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
2013/07/03 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
jquery获取div距离窗口和父级dv的距离示例
2013/10/10 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
jquery密码强度校验
2015/12/02 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
经典演讲稿汇总
2014/05/19 职场文书
退税申请报告怎么写
2015/05/18 职场文书
律政俏佳人观后感
2015/06/09 职场文书
python获取对象信息的实例详解
2021/07/07 Python
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
Go归并排序算法的实现方法
2022/04/06 Golang
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL