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环境搭建最新方法
Sep 05 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
php对csv文件的读取,写入,输出下载操作详解
Aug 10 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
Yii实现简单分页的方法
Apr 29 PHP
php处理json格式数据经典案例总结
May 19 PHP
Yii2中使用join、joinwith多表关联查询
Jun 30 PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 PHP
Yii框架函数简单用法分析
Sep 09 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
简单了解python中对象的取反运算符
2019/07/01 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
python中count函数简单的实例讲解
2020/02/06 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
团委竞选演讲稿
2014/04/24 职场文书
高中运动会广播稿
2014/09/16 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
会计师事务所实习证明
2014/11/16 职场文书
2014年统战工作总结
2014/12/09 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python
千万级用户系统SQL调优实战分享
2022/03/03 MySQL