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自动生成月历代码
Oct 09 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
PHP输出九九乘法表代码实例
Mar 27 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 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源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
php实现搜索类封装示例
2016/03/31 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
layui分页效果实现代码
2017/05/19 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python中的协程深入理解
2019/06/10 Python
pycharm 安装JPype的教程
2019/08/08 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
Python创建自己的加密货币的示例
2021/03/01 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
材料工程专业毕业生求职信
2014/03/04 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
青年文明号汇报材料
2014/12/23 职场文书
建议书格式
2015/02/04 职场文书
伏羲庙导游词
2015/02/09 职场文书
银行培训心得体会范文
2016/01/09 职场文书