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代码
Jul 17 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
Nov 29 PHP
php旋转图片90度的方法
Nov 07 PHP
php自定义session示例分享
Apr 22 PHP
PHP开发框架kohana中处理ajax请求的例子
Jul 14 PHP
php+ajax无刷新上传图片实例代码
Nov 17 PHP
[原创]PHP简单开启curl的方法(测试可行)
Jan 11 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
PHP区块查询实现方法分析
May 12 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 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读取javascript设置的cookies的代码
2010/04/12 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
php无法连接mysql数据库的正确解决方法
2016/07/01 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
JavaScript 大数据相加的问题
2011/08/03 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
javascript之Array 数组对象详解
2016/06/07 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
python转换摩斯密码示例
2014/02/16 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
python装饰器常见使用方法分析
2019/06/26 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
Java程序员综合测试题
2014/04/25 面试题
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
小学语文课后反思精选
2014/04/25 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
Python爬取某拍短视频
2021/06/11 Python
Python使用openpyxl批量处理数据
2021/06/23 Python