PHP实时统计中文字数和区别
作者:chajinglong 发布时间:2023-07-13 10:44:01
标签:php,统计字数
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事件监听事件
来源:https://blog.csdn.net/chajinglong/article/details/52367094


猜你喜欢
- 后下载sql sever 2005 express单独安装,发现总是到了安装MSXML 6时出错。然而打算在控制面板里删除MSXML 6 S
- 介绍PaddleOCR 是一个基于百度飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、
- 一、求算术平方根a=x=int(raw_input('Enter a number:'))if x >= :while
- 本文实例为大家分享了MySQL安装及配置远程登录教程,供大家参考,具体内容如下一.安装MySQL一.安装MySQL1. sudo apt-g
- 要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化。但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓
- 分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系统中取出每个学科前3名的学生。这种查询在SQL Server 2005之前,写起
- 看了下传统的方法,觉得不好,太麻烦。自己重写了个,思路比较新。这个函数的优点是html代码可以很简洁,使用图片也可以很少,只需要两张图片。事
- perl有最好的文本数据处理能力.这是大家都知道的.在perl本身有一个别的软件没有的小功能,就是Perl格式.它相当于简单的命令行报表和图
- 首字母为英文和下划线,其它部分则可以是英文、数字和下划线(即:_),而变量名称是区分大小写,即变量temp与Temp为不同变量。变量的基本用
- #!/usr/bin/python#coding=gbkclass User: def __init__
- 字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的。想要识别验证码,收集足够多的样本后,首先要做的就是
- 很多介绍 根据日志等级打印不同颜色 的文章都是介绍的Ideolog , 但是我个人还是倾向于 Grep Console , 你可以在配置界面
- 老师罚学生抄写英文单词,结果学生给抄成这样……
- 希望在自己的机器模拟一下公司中微服务的构建,使用docker部署了mysql实例,使用spring boot进行了CRUD(增删改查)操作进
- 我就废话不多说了,直接上代码吧!a=[[1,2,3],[4,5][6,7]["a","b""
- django rest framework使用django-filter注意事项:一定要在setting文件里面加载如下代码,而不是只安装包
- 本文实例讲述了Python高级编程之消息队列(Queue)与进程池(Pool)。分享给大家供大家参考,具体如下:Queue消息队列1.创建i
- Python下载Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到:Python官网:http://www.pyth
- vscode配置ruby开发环境vscode近年来发展迅速,几乎在3年之间就抢占了原来vim、sublime text的很多份额,犹记得在2
- 在做task中,需要将TXT文本中的某一项注释修改,但是python对txt文本只有写入和读取两种操作。我采用的方法是:1.读取txt文件,