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 相关文章推荐
利用js调用后台php进行数据处理原码
Oct 09 PHP
发挥语言的威力--融合PHP与ASP
Oct 09 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
php常用文件操作函数汇总
Nov 22 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php操作redis缓存方法分享
Jun 03 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
Feb 16 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
php中转义mysql语句的实现代码
2011/06/24 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
php简单统计中文个数的方法
2016/09/30 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
js初始化验证实例详解
2016/11/26 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
ant design实现圈选功能
2019/12/17 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
React实现全选功能
2020/08/25 Javascript
python中正则表达式的使用详解
2014/10/17 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python之mock模块基本使用方法详解
2019/06/27 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
上班迟到检讨书
2014/01/10 职场文书
毕业生就业协议书
2014/04/11 职场文书
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记