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 intval与mysql的int取值范围不同
Dec 12 PHP
PHP 遍历文件实现代码
May 04 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
Oct 08 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
PHP is_array() 检测变量是否是数组的实现方法
Jun 13 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
Aug 02 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
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
python opencv如何实现图片绘制
2020/01/19 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
Java程序员常见面试题
2015/07/16 面试题
数控技术应届生求职信
2013/11/13 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript