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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
GBK的页面输出JSON格式的php函数
Feb 16 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
PHP常用技巧总结(附函数代码)
Feb 04 PHP
php防止恶意刷新与刷票的方法
Nov 21 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
图文介绍PHP添加Redis模块及连接
Jul 28 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
php的4种常用运行方式详解
Dec 22 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 PHP
PHP与Web页面的交互示例详解二
Aug 04 PHP
PHP7 list() 函数修改
Mar 09 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
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
javascript读取xml
2006/11/04 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
Python实现获取网站PR及百度权重
2015/01/21 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
Python操作csv文件实例详解
2017/07/31 Python
Python实现两款计算器功能示例
2017/12/19 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
学校安全责任书
2014/04/14 职场文书
爱国演讲稿400字
2014/05/07 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
广播节目策划方案
2014/05/23 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
天下第一关导游词
2015/02/06 职场文书
入党函调证明材料
2015/06/19 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
Pygame如何使用精灵和碰撞检测
2021/11/17 Python