PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlenmb_strlenmb_strwidth 这个三个函数去测试统计字符串的长度,看看把中文算成几个字节:

echo strlen("你好ABC") . "";
# 输出 9
echo mb_strlen("你好ABC", 'UTF-8') . "";
# 输出 5
echo mb_strwidth("你好ABC") . "";
#输出 7

从上面的测试,我们可以看出:strlen 把中文字符算成 3 个字节,mb_strlen 不管中文还是英文,都算 1 个字节,而 mb_strwidth 则把中文算成 2 个字节,所以 mb_strwidth 才是我们想要的:中文 2 个字节,英文 1 个字节

同样截取字符串也建议使用 mb_strimwidth,也是按照 中文 2 个字节,英文 1 个字节 方式计算之后的,并且如果字数超过截取的要求,这个函数还可以在最后面自动添加‘...’。

mb_strimwidth($post_excerpt,0,240,'...','utf-8');

注意,最后添加‘utf-8’编码参数,可以避免中文截取乱码的问题。

PHP 中如何正确统计中文字数相关推荐

  1. php 判断字数,如何正确统计中文字数?-PHP教程,PHP应用

    php代码:--------------------------– function ccstrlen($str) #计算中英文混合字符串的长度 { $cclen=0; $asclen=strlen( ...

  2. php 判断字数,PHP实时统计中文字数和区别

    1.PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数 ...

  3. php 合计,PHP实时统计中文字数和区别

    1.PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数 ...

  4. LaTeX 写作的两个辅助工具:统计中文字数和关闭Acrobat中的PDF文档

    LaTeX 没有像 Word 那样自带中文字数统计功能,加上 LaTeX 源文件中有许多控制字符,不能通过文件大小获知其中有多少汉字.为此我用C写了一个统计中文字数的小工具,名为 cwc ,即 chi ...

  5. LaTeX 写作的两个辅助工具:统计中文字数和关闭Acrobat中的PDF文档 1

    LaTeX 没有像 Word 那样自带中文字数统计功能,加上 LaTeX 源文件中有许多控制字符,不能通过文件大小获知其中有多少汉字.为此我用C写了一个统计中文字数的小工具,名为 cwc ,即 chi ...

  6. Vim统计中文字数和英文单词数(附针对LaTeX的特殊处理)

    统计中文字数 在 Vim 中可以容易地用 Ex 命令 :%s/[\u4e00-\u9fa5\u3040-\u30FF]//gn 统计. 统计英文单词数 在终端中可以使用 wc -w 统计.但如果英文中 ...

  7. Hadoop统计中文字数

    #Hadoop统计中文字数代码 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; impor ...

  8. python统计中文字数_用 Python 统计字数

    用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 n 个出现频率最高的单词.返回值是一个元组列表,包含出现次数最高的 n 个单词及其次数,即 [( ...

  9. 统计文章字数和全站总字数

    关于统计文章字数这个功能最初我是在简书上看到的,现在在自己博客上我也想应用这个功能,便在网上寻找相关插件,找到一个比较满意的插件如下,并根据自己的需求,做了适当修改. 插件来源 https://blo ...

最新文章

  1. 使用ubuntu16.04对NVIDIA Jetson Xavier NX使用刷机:两种刷机方式:SD卡镜像法 和 NVIDIA SDK Manager法
  2. android view 镜像,Android 实现镜像效果
  3. 移动端ajax,jQuery基于$.ajax设置移动端click超时处理方法
  4. 天池幸福感的数据处理_了解幸福感与数据(第1部分)
  5. 推荐一个好库 热键监听 hotkeys-js
  6. 成功案例_APP成功推广案例
  7. SuSE 11 安装mysql 5.6.35步骤
  8. 架构之美—需求审核直接影响设计成败(2)
  9. 图像增强处理之:同态滤波与Retinex算法(二)McCann Retinex和McCann99 Retinex迭代算法
  10. 《Java就业培训教程》_张孝祥_书内源码_05
  11. 三菱GXWorks2 程序写入CPU/从CPU读取程序
  12. 国产杂牌机java_国货精品 山寨 杂牌 HiPhone 诺卡 MTK联发科 mrp
  13. Inductive Matrix Completion Based on Graph Neural Networks
  14. python结合正则表达式及校验码生成算法校验:电话号码、营业执照、组织机构代码证、税务登记证、统一社会信用代码证、非盈利性企业登记证号码的函数
  15. Cyclone Protocol V3.0:登陆,以太坊!
  16. 珍藏的PS技巧(可以尝试一下哦)(转载)
  17. 安卓11:android studio出现:Executing tasks: [:app:assembleDebug] in project D:\Android studio\New start
  18. IBM ACE User Defined Node
  19. 比例模型 scale model
  20. 程序员之间的战争,某宁测试和开发干架,鼠标线勒脖子都来了!

热门文章

  1. Unity3D中如何调用序列帧图片为动画
  2. laravel配置语言包,实现网站中英文切换
  3. Unity 接入百度AI - 植物识别
  4. Python攻城师的成长————网络编程(socket套接字、通信循环、链接循环、黏包问题)
  5. SqlSugar 6.导航查询
  6. java实验2总结心得,java实验的心得体会
  7. BRAC模型 权限表设计
  8. 种子是down.php,[原创作品][PHP]BT种子打包推送小神器~~
  9. 统俗讲义之——何为统计显著性(Statistical Significance)
  10. oracle中minus什么意思,Oracle Minus关键字